Re: [Qemu-devel] [PATCH for-1.7] qom: fix object_property_set_link() memory leak

2013-11-19 Thread Stefan Hajnoczi
On Mon, Nov 18, 2013 at 04:11:43PM +0100, Andreas Färber wrote:
 Am 18.11.2013 16:10, schrieb Stefan Hajnoczi:
  object_get_canonical_path() returns a string that the caller is
  responsible for freeing.
  
  Signed-off-by: Stefan Hajnoczi stefa...@redhat.com
 
 What's the difference to Vlad's v2?

Please ignore this patch, Vlad has already submitted an equivalent patch
which I hadn't seen.

NACK



[Qemu-devel] [PATCH for-1.7] qom: fix object_property_set_link() memory leak

2013-11-18 Thread Stefan Hajnoczi
object_get_canonical_path() returns a string that the caller is
responsible for freeing.

Signed-off-by: Stefan Hajnoczi stefa...@redhat.com
---
 qom/object.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index b617f26..fc19cf6 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,
-- 
1.8.4.2




Re: [Qemu-devel] [PATCH for-1.7] qom: fix object_property_set_link() memory leak

2013-11-18 Thread Andreas Färber
Am 18.11.2013 16:10, schrieb Stefan Hajnoczi:
 object_get_canonical_path() returns a string that the caller is
 responsible for freeing.
 
 Signed-off-by: Stefan Hajnoczi stefa...@redhat.com

What's the difference to Vlad's v2?

Andreas

 ---
  qom/object.c | 5 +++--
  1 file changed, 3 insertions(+), 2 deletions(-)
 
 diff --git a/qom/object.c b/qom/object.c
 index b617f26..fc19cf6 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,
 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg