[libvirt] [PATCH] Remove a completely bogus reference increment in the Xen driver.

Chris Lalancette clalance at redhat.com
Fri Oct 23 11:01:38 UTC 2009


xenUnifiedDomainEventRegister() calls out to
virDomainEventCallbackListAdd(), which increments the reference
count on the connection.  That is fine, but then
xenUnifiedDomainEventRegister() increments the usage count again,
leading to a usage count leak.  Remove the increment in the xen
register, and the UnrefConnect in the xen unregister.

Signed-off-by: Chris Lalancette <clalance at redhat.com>
---
 src/xen/xen_driver.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 5273a11..f2744b0 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -1502,9 +1502,6 @@ xenUnifiedDomainEventRegister (virConnectPtr conn,
     ret = virDomainEventCallbackListAdd(conn, priv->domainEventCallbacks,
                                         callback, opaque, freefunc);
 
-    if (ret == 0)
-        conn->refs++;
-
     xenUnifiedUnlock(priv);
     return (ret);
 }
@@ -1530,9 +1527,6 @@ xenUnifiedDomainEventDeregister (virConnectPtr conn,
         ret = virDomainEventCallbackListRemove(conn, priv->domainEventCallbacks,
                                                callback);
 
-    if (ret == 0)
-        virUnrefConnect(conn);
-
     xenUnifiedUnlock(priv);
     return ret;
 }
-- 
1.6.0.6




More information about the libvir-list mailing list