fsck.f2fs: fix memory leak caused by fsck_chk_orphan_node()

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@samsung.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
This commit is contained in:
Seung-Woo Kim 2021-05-10 17:57:25 +09:00 committed by Jaegeuk Kim
parent 1900c22ed2
commit 15d4d7be94

View File

@ -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;
}