summaryrefslogtreecommitdiff
path: root/qom
diff options
context:
space:
mode:
authorVlad Yasevich <vyasevic@redhat.com>2013-11-15 12:09:47 -0500
committerAndreas Färber <afaerber@suse.de>2013-11-19 10:58:21 +0100
commit2d3aa28cc2cf382aa04cd577e0be542175eea9bd (patch)
treee3ba03a03ec20e45694aabb77ed2f87e4ae171b9 /qom
parent5c5432e7d630592ddcc1876ac8a1505f8f14ef15 (diff)
downloadqemu-2d3aa28cc2cf382aa04cd577e0be542175eea9bd.tar.gz
qemu-2d3aa28cc2cf382aa04cd577e0be542175eea9bd.tar.bz2
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,