diff options
author | David Sterba <dsterba@suse.com> | 2017-01-30 16:58:57 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-03-08 13:00:46 +0100 |
commit | 9368a774560c8c913c46f7cdf36bb11da5688338 (patch) | |
tree | a565ab87adf4bed309f8ee58042e13a6bb7830c5 /convert | |
parent | 5bcff79f14c4fd13bd4d4fef6cab2ef99e8b3f25 (diff) |
btrfs-progs: convert: better error handling in ext2_read_used_space
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'convert')
-rw-r--r-- | convert/source-ext2.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/convert/source-ext2.c b/convert/source-ext2.c index f286d074..29222a37 100644 --- a/convert/source-ext2.c +++ b/convert/source-ext2.c @@ -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) |