[libvirt] [PATCH] parallels: fix libvirt crash if parallelsNetworkOpen fails

Michal Privoznik mprivozn at redhat.com
Thu Mar 19 15:40:24 UTC 2015


On 19.03.2015 15:43, Maxim Nestratov wrote:
> If, by any reason, parallelsNetworkOpen fails it dereferences
> newly allocated privconn->networks via virObjectUnref, which in
> turn deallocates its memory.
> Subsequent call of parallelsNetworkClose calls virObjectUnref
> that leads to double memory free. To prevent this we should zero
> privconn->networks to make all subsequent virObjectUnref be safe.
> 
> Signed-off-by: Maxim Nestratov <mnestratov at parallels.com>
> ---
>  src/parallels/parallels_network.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/src/parallels/parallels_network.c b/src/parallels/parallels_network.c
> index 8cc0582..8caad4a 100644
> --- a/src/parallels/parallels_network.c
> +++ b/src/parallels/parallels_network.c
> @@ -348,6 +348,7 @@ parallelsNetworkOpen(virConnectPtr conn,
>      return VIR_DRV_OPEN_SUCCESS;
>   error:
>      virObjectUnref(privconn->networks);
> +    privconn->networks = NULL;
>      return VIR_DRV_OPEN_DECLINED;
>  }
>  
> 

ACKed & pushed.

Michal




More information about the libvir-list mailing list