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

Cole Robinson crobinso at redhat.com
Fri Oct 23 14:12:05 UTC 2009


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 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;
>  }

ACK.

- Cole




More information about the libvir-list mailing list