]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
parallels: fix libvirt crash if parallelsNetworkOpen fails
authorMaxim Nestratov <mnestratov@parallels.com>
Thu, 19 Mar 2015 14:43:21 +0000 (17:43 +0300)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 19 Mar 2015 15:28:40 +0000 (16:28 +0100)
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@parallels.com>
src/parallels/parallels_network.c

index 8cc0582f26dbab0efd043cfaf9eb6b90a1afa149..8caad4a4a014db534d96140771e98af68ed68295 100644 (file)
@@ -348,6 +348,7 @@ parallelsNetworkOpen(virConnectPtr conn,
     return VIR_DRV_OPEN_SUCCESS;
  error:
     virObjectUnref(privconn->networks);
+    privconn->networks = NULL;
     return VIR_DRV_OPEN_DECLINED;
 }