[PATCH] ntfs3: Fix NULL pointer dereference on error in attr_allocate_frame()

From: Pavel Sakharov
Date: Wed Aug 23 2023 - 07:12:20 EST


If 'attr_b' has not been found in repack loop, it is dereferenced
at the end of function after 'goto out'.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Fixes: be71b5cba2e6 ("fs/ntfs3: Add attrib operations")
Signed-off-by: Pavel Sakharov <p.sakharov@xxxxxxxxx>
Reviewed-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx>
---
fs/ntfs3/attrib.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/fs/ntfs3/attrib.c b/fs/ntfs3/attrib.c
index a9d82bbb4729..ebc934ac5cf5 100644
--- a/fs/ntfs3/attrib.c
+++ b/fs/ntfs3/attrib.c
@@ -1737,8 +1737,7 @@ int attr_allocate_frame(struct ntfs_inode *ni, CLST frame, size_t compr_size,
attr_b = ni_find_attr(ni, NULL, &le_b, ATTR_DATA, NULL,
0, NULL, &mi_b);
if (!attr_b) {
- err = -ENOENT;
- goto out;
+ return -ENOENT;
}

attr = attr_b;
--
2.41.0