diff --git a/libntfs-3g/attrib.c b/libntfs-3g/attrib.c index f870e6cb..acec8434 100644 --- a/libntfs-3g/attrib.c +++ b/libntfs-3g/attrib.c @@ -4180,8 +4180,9 @@ retry: memmove((u8*)a + le16_to_cpu(a->name_offset) - 8, (u8*)a + le16_to_cpu(a->name_offset), a->name_length * sizeof(ntfschar)); - a->name_offset = cpu_to_le16(le16_to_cpu( - a->name_offset) - 8); + if (le16_to_cpu(a->name_offset) >= 8) + a->name_offset = cpu_to_le16( + le16_to_cpu(a->name_offset) - 8); a->mapping_pairs_offset = cpu_to_le16(le16_to_cpu( a->mapping_pairs_offset) - 8);