]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
fs/ntfs3: Fixed overflow check in mi_enum_attr()
authorKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
Fri, 26 Jan 2024 08:14:31 +0000 (11:14 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 1 Mar 2024 12:34:54 +0000 (13:34 +0100)
[ Upstream commit 652cfeb43d6b9aba5c7c4902bed7a7340df131fb ]

Reported-by: Robert Morris <rtm@csail.mit.edu>
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/ntfs3/record.c

index 7b6423584eaeeaf2fb75aff41c0c9429d4049eaf..6aa3a9d44df1bdc90f56a947caf94c902590d983 100644 (file)
@@ -279,7 +279,7 @@ struct ATTRIB *mi_enum_attr(struct mft_inode *mi, struct ATTRIB *attr)
                if (t16 > asize)
                        return NULL;
 
-               if (t16 + le32_to_cpu(attr->res.data_size) > asize)
+               if (le32_to_cpu(attr->res.data_size) > asize - t16)
                        return NULL;
 
                t32 = sizeof(short) * attr->name_len;