summaryrefslogtreecommitdiffstats
path: root/qom
diff options
context:
space:
mode:
authorVlad Yasevich2013-11-15 18:09:47 +0100
committerAndreas Färber2013-11-19 10:58:21 +0100
commit2d3aa28cc2cf382aa04cd577e0be542175eea9bd (patch)
treee3ba03a03ec20e45694aabb77ed2f87e4ae171b9 /qom
parentMerge remote-tracking branch 'luiz/queue/qmp' into staging (diff)
downloadqemu-2d3aa28cc2cf382aa04cd577e0be542175eea9bd.tar.gz
qemu-2d3aa28cc2cf382aa04cd577e0be542175eea9bd.tar.xz
qemu-2d3aa28cc2cf382aa04cd577e0be542175eea9bd.zip
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>
Diffstat (limited to 'qom')
-rw-r--r--qom/object.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/qom/object.c b/qom/object.c
index b617f265e7..fc19cf676a 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -838,8 +838,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,