From f7f2bf570d6125f0e0d32534bc99de16c40a41fe Mon Sep 17 00:00:00 2001 From: szaka Date: Sun, 13 Nov 2005 22:40:19 +0000 Subject: [PATCH] initialize_secure(): fix segfault when non-allocated objects were referenced (thanks to ef) --- ntfsprogs/mkntfs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ntfsprogs/mkntfs.c b/ntfsprogs/mkntfs.c index 4638d1fc..a28bec7b 100644 --- a/ntfsprogs/mkntfs.c +++ b/ntfsprogs/mkntfs.c @@ -2878,6 +2878,8 @@ static int initialize_secure(char *sds, u32 sds_size, MFT_RECORD *m) err = 0; while ((char*)sds_header < (char*)sds + sds_size) { + if (!sds_header->length) + break; /* SDH index entry */ idx_entry_sdh->data_offset = cpu_to_le16(0x18); idx_entry_sdh->data_length = cpu_to_le16(0x14); @@ -2923,8 +2925,6 @@ static int initialize_secure(char *sds, u32 sds_size, MFT_RECORD *m) sds_header = (SECURITY_DESCRIPTOR_HEADER*)((char*)sds_header + (cpu_to_le32(sds_header->length + 0x0F) & ~cpu_to_le32(0x0F))); - if (!sds_header->length) - break; } free(idx_entry_sdh);