aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLiu Xue <liuxueliu.liu@huawei.com>2015-12-01 08:34:43 +0000
committerGreg Wallace <greg@gregtwallace.com>2016-01-19 22:02:19 -0500
commite89637e006e7bb2cc660f6f6d42ca7da8005a687 (patch)
treeeb840ffeff72a98bfcc7b6f217f3cc436813610c
parent04d6106998b934a87ca9c51fffd233e2e9bb968d (diff)
downloadandroid_external_f2fs-tools-e89637e006e7bb2cc660f6f6d42ca7da8005a687.tar.gz
android_external_f2fs-tools-e89637e006e7bb2cc660f6f6d42ca7da8005a687.tar.bz2
android_external_f2fs-tools-e89637e006e7bb2cc660f6f6d42ca7da8005a687.zip
fsck.f2fs: deal with realloc failure
Deal with realloc failure to avoid memory leak and memory free. Change-Id: Ic0d01c03ef9390e3c9fd05c9bb386fa929698133 Signed-off-by: Xue Liu <liuxueliu.liu@huawei.com> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r--fsck/fsck.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 510c39d..faa1568 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -843,7 +843,10 @@ static void print_dentry(__u32 depth, __u8 *name,
if (tree_mark_size <= depth) {
tree_mark_size *= 2;
- tree_mark = realloc(tree_mark, tree_mark_size);
+ char *tree_mark_old = realloc(tree_mark, tree_mark_size);
+ ASSERT(tree_mark_old != NULL);
+ tree_mark = tree_mark_old;
+ free(tree_mark_old);
}
if (last_de)