btrfs-progs: convert: better error handling in ext2_read_used_space
authorDavid Sterba <dsterba@suse.com>
Mon, 30 Jan 2017 15:58:57 +0000 (16:58 +0100)
committerDavid Sterba <dsterba@suse.com>
Wed, 8 Mar 2017 12:00:46 +0000 (13:00 +0100)
Signed-off-by: David Sterba <dsterba@suse.com>
convert/source-ext2.c

index f286d07..29222a3 100644 (file)
@@ -136,8 +136,11 @@ static int ext2_read_used_space(struct btrfs_convert_context *cctx)
        int ret = 0;
 
        block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8;
-       /* Shouldn't happen */
-       BUG_ON(!fs->block_map);
+       if (!block_nbytes) {
+               error("EXT2_CLUSTERS_PER_GROUP too small: %llu",
+                       (unsigned long long)(EXT2_CLUSTERS_PER_GROUP(fs->super)));
+               return -EINVAL;
+       }
 
        block_bitmap = malloc(block_nbytes);
        if (!block_bitmap)