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 <jferlan@redhat.com>
This commit is contained in:
John Ferlan 2018-04-02 10:03:02 -04:00
parent f52d0d42c9
commit abd1e54f4c
1 changed files with 2 additions and 2 deletions

View File

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