btrfs-progs: free local variable buf upon unsuccessful returns
authorGui Hecheng <guihc.fnst@cn.fujitsu.com>
Thu, 5 Sep 2013 02:38:54 +0000 (10:38 +0800)
committerChris Mason <chris.mason@fusionio.com>
Wed, 16 Oct 2013 12:20:42 +0000 (08:20 -0400)
The variable "buf" passed into find_collision() as parameter "name"
should be freed on unsuccessful returns.

Signed-off-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
btrfs-image.c

index ab229f3..b2c34d7 100644 (file)
@@ -284,6 +284,7 @@ static char *find_collision(struct metadump_struct *md, char *name,
        val = malloc(sizeof(struct name));
        if (!val) {
                fprintf(stderr, "Couldn't sanitize name, enomem\n");
+               free(name);
                return NULL;
        }
 
@@ -295,6 +296,7 @@ static char *find_collision(struct metadump_struct *md, char *name,
        if (!val->sub) {
                fprintf(stderr, "Couldn't sanitize name, enomem\n");
                free(val);
+               free(name);
                return NULL;
        }