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....@samsung.com>
---
 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



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to