From: John Ferlan Date: Mon, 2 Apr 2018 14:03:02 +0000 (-0400) Subject: lxc: Fix possible leaked @vm in lxcDomainCreateXMLWithFiles X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=abd1e54f4c2badc2d5d81007e471a9c180332cb0;p=libvirt.git lxc: Fix possible leaked @vm in lxcDomainCreateXMLWithFiles In error paths, if we call virDomainObjListRemove we will leak the @vm because we have called with a reffed and locked @vm. So rather than set it to NULL, relock the @vm and allow the virDomainObjEndAPI to perform the magic of Unlock/Unref. Signed-off-by: John Ferlan --- diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index 4f600f3df7..54f853cbae 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -1245,7 +1245,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) { if (!vm->persistent) { virDomainObjListRemove(driver->domains, vm); - vm = NULL; + virObjectLock(vm); } goto cleanup; } @@ -1258,7 +1258,7 @@ lxcDomainCreateXMLWithFiles(virConnectPtr conn, virLXCDomainObjEndJob(driver, vm); if (!vm->persistent) { virDomainObjListRemove(driver->domains, vm); - vm = NULL; + virObjectLock(vm); } goto cleanup; }