btrfs-progs: check, handle error in fix_key_order
authorDavid Sterba <dsterba@suse.cz>
Sat, 3 Jan 2015 01:47:32 +0000 (02:47 +0100)
committerDavid Sterba <dsterba@suse.cz>
Sat, 3 Jan 2015 01:47:32 +0000 (02:47 +0100)
In case the buffer is corrupted and the for loop does not happen, we'd
return garbage. The caller retunrs -EIO in case of any corruption, use
that value in fix_key_order.

Resolves-coverity-id: 1246944
Signed-off-by: David Sterba <dsterba@suse.cz>
cmds-check.c

index d2d218a..6c87d1a 100644 (file)
@@ -3468,7 +3468,7 @@ static int fix_key_order(struct btrfs_trans_handle *trans,
        struct btrfs_key k1, k2;
        int i;
        int level = path->lowest_level;
-       int ret;
+       int ret = -EIO;
 
        buf = path->nodes[level];
        for (i = 0; i < btrfs_header_nritems(buf) - 1; i++) {