btrfs-progs: fix potential double-frees in cmd_subvol_delete()
authorEric Sandeen <sandeen@redhat.com>
Wed, 6 Nov 2013 23:15:40 +0000 (17:15 -0600)
committerChris Mason <chris.mason@fusionio.com>
Thu, 7 Nov 2013 21:10:40 +0000 (16:10 -0500)
If we "goto again" in cmd_subvol_delete(), and error out to out:
before re-allocating the dupdname and dupvname pointers, we'll
double-free them.

Set them to NULL after freeing to avoid this.

Resolves-Coverity-CID: 1125944
Resolves-Coverity-CID: 1125945
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
cmds-subvolume.c

index 96fdcca..f57694a 100644 (file)
@@ -288,6 +288,8 @@ again:
 out:
        free(dupdname);
        free(dupvname);
+       dupdname = NULL;
+       dupvname = NULL;
        cnt++;
        if (cnt < argc)
                goto again;