btrfs-progs: corrupt-block: improved error handling in corrupt_item_nocow

Signed-off-by: David Sterba <dsterba@suse.com>
master
David Sterba 2016-09-07 16:09:11 +02:00
parent 689b6249f3
commit 7b83595dbd
1 changed files with 5 additions and 1 deletions

View File

@ -899,7 +899,11 @@ static int corrupt_item_nocow(struct btrfs_trans_handle *trans,
if (slot == 0)
del = 0;
/* Only accept valid eb */
BUG_ON(!leaf->data || slot >= btrfs_header_nritems(leaf));
if (!leaf->data || slot >= btrfs_header_nritems(leaf)) {
error("invalid eb: no data or slot out of range: %d >= %d",
slot, btrfs_header_nritems(leaf));
return -EINVAL;
}
btrfs_item_key_to_cpu(leaf, &key, slot);
if (del) {
fprintf(stdout, "Deleting key and data [%llu, %u, %llu].\n",