From a9df6a1bdef4a495552a6200efdba065957a7183 Mon Sep 17 00:00:00 2001 From: Eric Sandeen Date: Mon, 25 Feb 2013 16:54:47 -0600 Subject: btrfs-progs: fix mem leak in resolve_root If we exit with error we must free the allocated memory to avoid a leak. Signed-off-by: Eric Sandeen --- btrfs-list.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'btrfs-list.c') diff --git a/btrfs-list.c b/btrfs-list.c index 851c059e..8c3f84de 100644 --- a/btrfs-list.c +++ b/btrfs-list.c @@ -568,8 +568,10 @@ static int resolve_root(struct root_lookup *rl, struct root_info *ri, * ref_tree = 0 indicates the subvolumes * has been deleted. */ - if (!found->ref_tree) + if (!found->ref_tree) { + free(full_path); return -ENOENT; + } int add_len = strlen(found->path); /* room for / and for null */ @@ -612,8 +614,10 @@ static int resolve_root(struct root_lookup *rl, struct root_info *ri, * subvolume was deleted. */ found = root_tree_search(rl, next); - if (!found) + if (!found) { + free(full_path); return -ENOENT; + } } ri->full_path = full_path; -- cgit v1.2.3