diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c index 51363d4e8636..edeee31df3c5 100644 --- a/fs/ntfs3/inode.c +++ b/fs/ntfs3/inode.c @@ -365,6 +365,10 @@ static struct inode *ntfs_read_mft(struct inode *inode, roff = le16_to_cpu(attr->nres.run_off); t64 = le64_to_cpu(attr->nres.svcn); + + if (roff > asize) + goto out; + err = run_unpack_ex(run, sbi, ino, t64, le64_to_cpu(attr->nres.evcn), t64, Add2Ptr(attr, roff), asize - roff); if (err < 0)