Hi,
Please find the latest report on new defect(s) introduced to libvirt found with Coverity Scan.
** CID 901316: Memory - illegal accesses (USE_AFTER_FREE)
_____________________________________________________________________________________________
*** CID 901316: Memory - illegal accesses (USE_AFTER_FREE)
/src/qemu/qemu_driver.c: 4085 in processShutdownCompletedEvent()
4079
4080 if (virDomainObjIsActive(vm)) {
4081 qemuProcessStop(vm, VIR_DOMAIN_SHUTOFF_UNKNOWN, VIR_ASYNC_JOB_NONE, 0);
4082 qemuDomainRemoveInactive(vm, 0, false);
4083 }
4084
>>> CID 901316: Memory - illegal accesses (USE_AFTER_FREE)
>>> Calling "qemuProcessEndStopJob" dereferences freed pointer "vm".
4085 qemuProcessEndStopJob(vm);
4086 }
4087
4088
4089 static void qemuProcessEventHandler(void *data, void *opaque)
4090 {
** CID 901315: Null pointer dereferences (REVERSE_INULL)
/src/qemu/qemu_hotplug.c: 3458 in qemuDomainAttachDeviceLive()
_____________________________________________________________________________________________
*** CID 901315: Null pointer dereferences (REVERSE_INULL)
/src/qemu/qemu_hotplug.c: 3458 in qemuDomainAttachDeviceLive()
3452 return -1;
3453
3454 switch (dev->type) {
3455 case VIR_DOMAIN_DEVICE_DISK:
3456 qemuDomainObjCheckDiskTaint(driver, vm, dev->data.disk, NULL);
3457 ret = qemuDomainAttachDeviceDiskLive(driver, vm, dev);
>>> CID 901315: Null pointer dereferences (REVERSE_INULL)
>>> Null-checking "dev->data.disk" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
3458 if (ret == 0 && dev->data.disk) {
3459 alias = dev->data.disk->info.alias;
3460 dev->data.disk = NULL;
3461 }
3462 break;
3463
Best regards,
The Coverity Scan Admin Team