Rejected negative data length in an attribute list

The negative data length of an attribute list is an indication of a
probable corruption and must be rejected.
edge.strict_endians^2
Jean-Pierre André 2021-07-19 09:23:23 +02:00
parent b95b4ba1a5
commit 0911ef206d
1 changed files with 2 additions and 2 deletions

View File

@ -231,9 +231,9 @@ static ntfs_inode *ntfs_inode_real_open(ntfs_volume *vol, const MFT_REF mref)
l = ntfs_get_attribute_value_length(ctx->attr);
if (!l)
goto put_err_out;
if (l > 0x40000) {
if ((u64)l > 0x40000) {
errno = EIO;
ntfs_log_perror("Too large attrlist attribute (%lld), inode "
ntfs_log_perror("Too large attrlist attribute (%llu), inode "
"%lld", (long long)l, (long long)MREF(mref));
goto put_err_out;
}