Whamcloud - gitweb
e2fuzz: fix fs handle cleanup when closing fails
authorDarrick J. Wong <darrick.wong@oracle.com>
Sun, 3 Aug 2014 02:18:29 +0000 (22:18 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 3 Aug 2014 02:18:29 +0000 (22:18 -0400)
Fix the handling of 'fs' when closing the FS fails so that we don't
dereference a NULL pointer.  Adapt to use ext2fs_close_free while
we're at it.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Fixes-Coverity-Bug: 1229241
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
misc/e2fuzz.c

index 644c9c5..8c989dd 100644 (file)
@@ -279,23 +279,20 @@ int process_fs(const char *fsname)
        close(fd);
 
        /* Clean up */
-       ret = ext2fs_close(fs);
+       ret = ext2fs_close_free(&fs);
        if (ret) {
-               fs = NULL;
                fprintf(stderr, "%s: error while closing filesystem\n",
                        fsname);
-               goto fail2;
+               return 1;
        }
 
        return 0;
 fail3:
        close(fd);
-fail2:
        if (corrupt_map != fs->block_map)
                ext2fs_free_block_bitmap(corrupt_map);
 fail:
-       if (fs)
-               ext2fs_close(fs);
+       ext2fs_close_free(&fs);
        return 1;
 }