]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/btrfs/extent-tree.c
Btrfs: add NULL check for do_walk_down()
[mv-sheeva.git] / fs / btrfs / extent-tree.c
index 1727b26fb1944706f87210ddec2ca07a944b83e0..503a18eaef5273ad39038ca9d10e5bb590b10fd1 100644 (file)
@@ -5205,6 +5205,8 @@ static noinline int do_walk_down(struct btrfs_trans_handle *trans,
        next = btrfs_find_tree_block(root, bytenr, blocksize);
        if (!next) {
                next = btrfs_find_create_tree_block(root, bytenr, blocksize);
+               if (!next)
+                       return -ENOMEM;
                reada = 1;
        }
        btrfs_tree_lock(next);
@@ -5417,7 +5419,8 @@ static noinline int walk_down_tree(struct btrfs_trans_handle *trans,
                if (ret > 0) {
                        path->slots[level]++;
                        continue;
-               }
+               } else if (ret < 0)
+                       return ret;
                level = wc->level;
        }
        return 0;