From 2f1ecfa5f8ca0e03fc7684962443829b7f20c7d1 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 21 Mar 2007 19:16:11 -0400 Subject: [PATCH] [COVERITY] Fix memory leak on error handling in the debugfs's icheck command Coverity ID: 25: Resource Leak Signed-off-by: Brian Behlendorf --- debugfs/ChangeLog | 3 +++ debugfs/icheck.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog index 3a189af..e02e8b8 100644 --- a/debugfs/ChangeLog +++ b/debugfs/ChangeLog @@ -1,5 +1,8 @@ 2007-03-21 Theodore Tso + * icheck.c (do_icheck): Fix memory leak and clean up error + handling paths. + * htree.c (htree_dump_int_block): Fix memory leak on error paths. * dump.c (rdump_dirent), htree.c (htree_dump_leaf_node), diff --git a/debugfs/icheck.c b/debugfs/icheck.c index e3646de..a6b182d 100644 --- a/debugfs/icheck.c +++ b/debugfs/icheck.c @@ -86,7 +86,7 @@ void do_icheck(int argc, char **argv) for (i=1; i < argc; i++) { if (strtoblk(argv[0], argv[i], &bw.barray[i-1].blk)) - return; + goto error_out; } bw.num_blocks = bw.blocks_left = argc-1; @@ -160,7 +160,8 @@ void do_icheck(int argc, char **argv) error_out: free(bw.barray); - free(block_buf); + if (block_buf) + free(block_buf); if (scan) ext2fs_close_inode_scan(scan); return; -- 1.8.3.1