diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2012-03-14 12:52:55 +0000 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2012-03-14 12:52:55 +0000 |
commit | f8762715215df9f3f81d1d29b1ed25e1e8e9554d (patch) | |
tree | 5641d08f1ea0dbfd44c4e85461118eab3f207661 | |
parent | 7e32d892d76a31f55e2a4151902623b9949e3efa (diff) | |
download | libguestfs-f8762715215df9f3f81d1d29b1ed25e1e8e9554d.tar.gz libguestfs-f8762715215df9f3f81d1d29b1ed25e1e8e9554d.tar.xz libguestfs-f8762715215df9f3f81d1d29b1ed25e1e8e9554d.zip |
daemon: labels: Memory leak in 'set_label'.
This fixes commit d1711dae9dbd7f516469f88807604894c1304228.
-rw-r--r-- | daemon/labels.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/daemon/labels.c b/daemon/labels.c index 71176984..b28d1b29 100644 --- a/daemon/labels.c +++ b/daemon/labels.c @@ -79,6 +79,7 @@ int do_set_label (const char *device, const char *label) { char *vfs_type; + int r; /* How we set the label depends on the filesystem type. */ vfs_type = do_vfs_type (device); @@ -87,14 +88,17 @@ do_set_label (const char *device, const char *label) if (STREQ (vfs_type, "ext2") || STREQ (vfs_type, "ext3") || STREQ (vfs_type, "ext4")) - return e2label (device, label); + r = e2label (device, label); else if (STREQ (vfs_type, "ntfs")) - return ntfslabel (device, label); + r = ntfslabel (device, label); else { reply_with_error ("don't know how to set the label for '%s' filesystems", vfs_type); - return -1; + r = -1; } + + free (vfs_type); + return r; } |