diff --git a/fs/ntfs3/record.c b/fs/ntfs3/record.c index 861e35791506e801dc446414d935d5463e64a1fb..b06af26c00a07e9e7f7e763590ec0e7d02f3012f 100644 --- a/fs/ntfs3/record.c +++ b/fs/ntfs3/record.c @@ -260,6 +260,11 @@ struct ATTRIB *mi_enum_attr(struct mft_inode *mi, struct ATTRIB *attr) if (t16 + t32 > asize) return NULL; + if (attr->name_len && + le16_to_cpu(attr->name_off) + sizeof(short) * attr->name_len > t16) { + return NULL; + } + return attr; }