summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2013-11-15 12:09:47 -0500
committerMichael Roth <mdroth@linux.vnet.ibm.com>2013-12-09 11:40:30 -0600
commit991a5f378261b759b2af2354703c504906418d35 (patch)
tree5f9192301e6e81b97af3a613e27ec1e59b6e802f
parent817a872cc6e52abe304ec8c0a94c69d4f2b450ec (diff)
downloadqemu-991a5f378261b759b2af2354703c504906418d35.tar.gz
qom: Fix memory leak in object_property_set_link()
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) Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
-rw-r--r--qom/object.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/qom/object.c b/qom/object.c
index b2479d1c06..333f807d04 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -823,8 +823,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,