]> git.proxmox.com Git - mirror_qemu.git/commitdiff
virtio-rng: Avoid default_backend refcount leak
authorStefan Hajnoczi <stefanha@redhat.com>
Wed, 19 Mar 2014 07:58:57 +0000 (08:58 +0100)
committerAndreas Färber <afaerber@suse.de>
Wed, 19 Mar 2014 21:23:47 +0000 (22:23 +0100)
QOM child properties take a reference to the object and release it when
the property is deleted.  Therefore we should unref the default_backend
after we have added it as a child property.

Cc: KONRAD Frederic <fred.konrad@greensocs.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
hw/virtio/virtio-rng.c

index cbf01389a2ede8ea911dfcda6304325327d9fa06..b6ab3610cbcec2baf96fb3d954abbcb8431091d3 100644 (file)
@@ -162,6 +162,9 @@ static void virtio_rng_device_realize(DeviceState *dev, Error **errp)
                                   OBJECT(vrng->conf.default_backend),
                                   NULL);
 
+        /* The child property took a reference, we can safely drop ours now */
+        object_unref(OBJECT(vrng->conf.default_backend));
+
         object_property_set_link(OBJECT(dev),
                                  OBJECT(vrng->conf.default_backend),
                                  "rng", NULL);