fsck.f2fs: fix double free invalid checkpoint
The invalid checkpoin is freed in validate_checkpoint().
Signed-off-by: Sheng Yong <shengyong1@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
diff --git a/fsck/mount.c b/fsck/mount.c
index fe68f37..7533926 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -469,11 +469,8 @@
cur_page = cp2;
sbi->cur_cp = 2;
version = cp2_version;
- } else {
- free(cp1);
- free(cp2);
+ } else
goto fail_no_cp;
- }
MSG(0, "Info: CKPT version = %llx\n", version);
@@ -495,8 +492,10 @@
memcpy(ckpt + i * blk_size, cur_page, blk_size);
}
}
- free(cp1);
- free(cp2);
+ if (cp1)
+ free(cp1);
+ if (cp2)
+ free(cp2);
return 0;
fail_no_cp: