From f8762715215df9f3f81d1d29b1ed25e1e8e9554d Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 14 Mar 2012 12:52:55 +0000 Subject: daemon: labels: Memory leak in 'set_label'. This fixes commit d1711dae9dbd7f516469f88807604894c1304228. --- daemon/labels.c | 10 +++++++--- 1 file 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; } -- cgit