aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTsutomu Itoh <[email protected]>2014-04-09 09:18:04 +0900
committerChris Mason <[email protected]>2014-06-09 17:20:42 -0700
commit59885b39303edc0b3284f324a1ca42cb6e7742d0 (patch)
tree0e04e1c1fc5b0c32407c46ade6548c49e10b42c3
parent776e4aae5508848730a82b4695edfbd7bc802c33 (diff)
Btrfs: fix possible memory leak in btrfs_create_tree()
In btrfs_create_tree(), if btrfs_insert_root() fails, we should free root->commit_root. Reported-by: Alex Lyakas <[email protected]> Signed-off-by: Tsutomu Itoh <[email protected]> Signed-off-by: Chris Mason <[email protected]>
-rw-r--r--fs/btrfs/disk-io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index cf8427a7a615..d3bd34e434f6 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1366,6 +1366,7 @@ struct btrfs_root *btrfs_create_tree(struct btrfs_trans_handle *trans,
fail:
if (leaf) {
btrfs_tree_unlock(leaf);
+ free_extent_buffer(root->commit_root);
free_extent_buffer(leaf);
}
kfree(root);