X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fsecurity.c;h=788426c25dd7446d8afefb4a903ae3b2e01f9538;hb=312635e8964db57b56d12c6a31914401ac2ea742;hp=192786dfd17f583ed4eb2f0c1ebd38a307428b64;hpb=2e44f90c21db693058037f83f92ad136c818ce9d;p=wimlib diff --git a/src/security.c b/src/security.c index 192786df..788426c2 100644 --- a/src/security.c +++ b/src/security.c @@ -28,7 +28,7 @@ #endif #include "wimlib/assert.h" -#include "wimlib/buffer_io.h" +#include "wimlib/endianness.h" #include "wimlib/error.h" #include "wimlib/security.h" #include "wimlib/sha1.h" @@ -146,7 +146,7 @@ struct wim_security_data_disk { * the validation in libntfs-3g. */ static void -empty_sacl_fixup(SECURITY_DESCRIPTOR_RELATIVE *descr, size_t *size_p) +empty_sacl_fixup(SECURITY_DESCRIPTOR_RELATIVE *descr, u64 *size_p) { /* No-op if no NTFS-3g support, or if NTFS-3g is version 2013 or later * */ @@ -568,13 +568,12 @@ sd_set_add_sd(struct wim_sd_set *sd_set, const char *descriptor, size_t size) new = MALLOC(sizeof(*new)); if (!new) goto out; - descr_copy = MALLOC(size); + + descr_copy = memdup(descriptor, size); if (!descr_copy) goto out_free_node; sd = sd_set->sd; - - memcpy(descr_copy, descriptor, size); new->security_id = sd->num_entries; copy_hash(new->hash, hash);