Whamcloud - gitweb
[COVERITY] Fix memory leak on error handling in the debugfs's icheck command
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 21 Mar 2007 23:16:11 +0000 (19:16 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 21 Mar 2007 23:16:11 +0000 (19:16 -0400)
Coverity ID: 25: Resource Leak

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
debugfs/ChangeLog
debugfs/icheck.c

index 3a189af..e02e8b8 100644 (file)
@@ -1,5 +1,8 @@
 2007-03-21  Theodore Tso  <tytso@mit.edu>
 
+       * 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), 
index e3646de..a6b182d 100644 (file)
@@ -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;