Blob Blame Raw
From 709b3788e91957a9cff1adbe8ceac45daa2fa2bd Mon Sep 17 00:00:00 2001
Message-Id: <709b3788e91957a9cff1adbe8ceac45daa2fa2bd.1387276076.git.minovotn@redhat.com>
In-Reply-To: <e610718166120379517e80d1a7aa12d60294209b.1387276076.git.minovotn@redhat.com>
References: <e610718166120379517e80d1a7aa12d60294209b.1387276076.git.minovotn@redhat.com>
From: Amos Kong <akong@redhat.com>
Date: Sat, 23 Nov 2013 03:17:44 +0100
Subject: [PATCH 04/16] qom: Fix memory leak in object_property_set_link()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

RH-Author: Amos Kong <akong@redhat.com>
Message-id: <1385176664-3852-3-git-send-email-akong@redhat.com>
Patchwork-id: 55867
O-Subject: [RHEL-7.0 qemu-kvm PATCH 2/2] qom: Fix memory leak in object_property_set_link()
Bugzilla: 1033810
RH-Acked-by: Vlad Yasevich <vyasevic@redhat.com>
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
RH-Acked-by: Igor Mammedov <imammedo@redhat.com>

From: Vlad Yasevich <vyasevic@redhat.com>

Save the result of the call to object_get_canonical_path()
so we can free it.

Cc: qemu-stable@nongnu.org
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Reviewed-by: Amos Kong <akong@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
(cherry picked from commit 2d3aa28cc2cf382aa04cd577e0be542175eea9bd)
---
 qom/object.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

Signed-off-by: Michal Novotny <minovotn@redhat.com>
---
 qom/object.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index b7ecb9f..05e2636 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -824,8 +824,9 @@ char *object_property_get_str(Object *obj, const char *name,
 void object_property_set_link(Object *obj, Object *value,
                               const char *name, Error **errp)
 {
-    object_property_set_str(obj, object_get_canonical_path(value),
-                            name, errp);
+    gchar *path = object_get_canonical_path(value);
+    object_property_set_str(obj, path, name, errp);
+    g_free(path);
 }
 
 Object *object_property_get_link(Object *obj, const char *name,
-- 
1.7.11.7