[PATCH 1/2] fsck.f2fs: fix memory leak caused by fsck_chk_orphan_node()

From: Seung-Woo Kim
Date: Mon May 10 2021 - 04:54:34 EST


With invalid node info from fsck_chk_orphan_node(), orphan_blk
and new_blk are not freed. Fix memory leak in the path.

Signed-off-by: Seung-Woo Kim <sw0312.kim@xxxxxxxxxxx>
---
fsck/fsck.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index e52672032d2c..6019775dcb2d 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1780,8 +1780,11 @@ int fsck_chk_orphan_node(struct f2fs_sb_info *sbi)
if (c.preen_mode == PREEN_MODE_1 && !c.fix_on) {
get_node_info(sbi, ino, &ni);
if (!IS_VALID_NID(sbi, ino) ||
- !IS_VALID_BLK_ADDR(sbi, ni.blk_addr))
+ !IS_VALID_BLK_ADDR(sbi, ni.blk_addr)) {
+ free(orphan_blk);
+ free(new_blk);
return -EINVAL;
+ }

continue;
}
--
2.19.2