On 25.05.2016 00:53, John Ferlan wrote: > Commit id '15ccb0dbf' added job functions for the lxc driver; however, > for shutdown and nonpersistent path, the vm was removed from the domain > object list and the vm pointer cleared before the endjob. > > Adjust the code to perform the endjob first and then perform the > ObjListRemove as long as the vm wasn't NULL. This follows more closely > models from qemu and libxl > > Found by Coverity (FORWARD_NULL) > > Signed-off-by: John Ferlan <jferlan@xxxxxxxxxx> > --- > src/lxc/lxc_driver.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c > index d690886..9e03f1f 100644 > --- a/src/lxc/lxc_driver.c > +++ b/src/lxc/lxc_driver.c > @@ -1541,13 +1541,11 @@ lxcDomainDestroyFlags(virDomainPtr dom, > VIR_DOMAIN_EVENT_STOPPED_DESTROYED); > priv->doneStopEvent = true; > virDomainAuditStop(vm, "destroyed"); > - if (!vm->persistent) { > - virDomainObjListRemove(driver->domains, vm); > - vm = NULL; > - } > > endjob: > virLXCDomainObjEndJob(driver, vm); > + if (!vm->persistent) > + virDomainObjListRemove(driver->domains, vm); > > cleanup: > virDomainObjEndAPI(&vm); > Okay, I guess this makes sense. I had to think twice when I saw this patch. But if a transient inactive domain is destroyed, it should not had been in the list in the first place. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list