summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-03-14 12:52:55 +0000
committerRichard W.M. Jones <rjones@redhat.com>2012-03-14 12:52:55 +0000
commitf8762715215df9f3f81d1d29b1ed25e1e8e9554d (patch)
tree5641d08f1ea0dbfd44c4e85461118eab3f207661
parent7e32d892d76a31f55e2a4151902623b9949e3efa (diff)
downloadlibguestfs-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.c10
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;
}