btrfs-progs: prevent close_root if the root to close is potentially NULL
authorGui Hecheng <guihc.fnst@cn.fujitsu.com>
Thu, 24 Apr 2014 03:39:28 +0000 (11:39 +0800)
committerDavid Sterba <dsterba@suse.cz>
Fri, 2 May 2014 15:05:29 +0000 (17:05 +0200)
Originally only if 'block_only' is specified, the 'fs_root == NULL'
will be checked. But if 'block_only' is not specified and close_root
will be called blindly without checking 'fs_root == NULL', which is
unsafe.

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
btrfs-debug-tree.c

index 8ae7270..cb6c106 100644 (file)
@@ -177,13 +177,14 @@ int main(int ac, char **av)
                fprintf(stderr, "unable to open %s\n", av[optind]);
                exit(1);
        }
+
        root = info->fs_root;
+       if (!root) {
+               fprintf(stderr, "unable to open %s\n", av[optind]);
+               exit(1);
+       }
 
        if (block_only) {
-               if (!root) {
-                       fprintf(stderr, "unable to open %s\n", av[optind]);
-                       exit(1);
-               }
                leaf = read_tree_block(root,
                                      block_only,
                                      root->leafsize, 0);