
On 10/23/2009 07:01 AM, Chris Lalancette wrote:
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@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; }
ACK. - Cole