Hi,

Please find the latest report on new defect(s) introduced to libvirt found with Coverity Scan.

Defect Details

** CID 910061:       Memory - illegal accesses  (USE_AFTER_FREE)
/tests/qemumonitortestutils.c: 1250           in qemuMonitorTestEmitDeviceDeleted()


_____________________________________________________________________________________________
*** CID 910061:         Memory - illegal accesses  (USE_AFTER_FREE)
/tests/qemumonitortestutils.c: 1250             in qemuMonitorTestEmitDeviceDeleted()
1244     void
1245     qemuMonitorTestEmitDeviceDeleted(qemuMonitorTest *test,
1246                                      const char *alias)
1247     {
1248         virObjectLock(test->mon);
1249         qemuMonitorEmitDeviceDeleted(test->mon, alias);
>>>     CID 910061:         Memory - illegal accesses  (USE_AFTER_FREE)
>>>     Calling "virObjectUnlock" dereferences freed pointer "test->mon". (The dereference is assumed on the basis of the "nonnull" parameter attribute.)
1250         virObjectUnlock(test->mon);

** CID 910060:       Error handling issues  (CHECKED_RETURN)
/tests/qemuhotplugtest.c: 401           in testQemuHotplugCpuAsyncDataClear()


_____________________________________________________________________________________________
*** CID 910060:         Error handling issues  (CHECKED_RETURN)
/tests/qemuhotplugtest.c: 401             in testQemuHotplugCpuAsyncDataClear()
395     
396     static void
397     testQemuHotplugCpuAsyncDataClear(struct testQemuHotplugCpuAsyncData *asyncData,
398                                      virConnectPtr conn)
399     {
400         if (asyncData->eventCallbackID >= 0)
>>>     CID 910060:         Error handling issues  (CHECKED_RETURN)
>>>     Calling "virObjectEventStateDeregisterID" without checking return value (as is done elsewhere 19 out of 21 times).
401             virObjectEventStateDeregisterID(conn, driver.domainEventState,
402                                             asyncData->eventCallbackID, true);
403     
404         if (asyncData->ownsWorkerPool)
405             g_clear_pointer(&driver.workerPool, virThreadPoolFree);
406     

** CID 910059:         (USE_AFTER_FREE)
/src/qemu/qemu_validate.c: 1338           in qemuValidateDomainDef()
/src/qemu/qemu_validate.c: 1317           in qemuValidateDomainDef()


_____________________________________________________________________________________________
*** CID 910059:           (USE_AFTER_FREE)
/src/qemu/qemu_validate.c: 1338             in qemuValidateDomainDef()
1332         }
1333     
1334         if (!virQEMUCapsIsMachineSupported(qemuCaps, def->virtType, def->os.machine)) {
1335             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
1336                            _("Emulator '%1$s' does not support machine type '%2$s'"),
1337                            def->emulator, def->os.machine);
>>>     CID 910059:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
1338             return -1;
1339         }
1340     
1341         if (virQEMUCapsMachineSupportsACPI(qemuCaps, def->virtType, def->os.machine) == VIR_TRISTATE_BOOL_NO &&
1342             def->features[VIR_DOMAIN_FEATURE_ACPI] == VIR_TRISTATE_SWITCH_ON) {
1343             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
/src/qemu/qemu_validate.c: 1317             in qemuValidateDomainDef()
1311             return -1;
1312     
1313         if (def->os.type != VIR_DOMAIN_OSTYPE_HVM) {
1314             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
1315                            _("Emulator '%1$s' does not support os type '%2$s'"),
1316                            def->emulator, virDomainOSTypeToString(def->os.type));
>>>     CID 910059:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
1317             return -1;
1318         }
1319     
1320         if (!virQEMUCapsIsArchSupported(qemuCaps, def->os.arch)) {
1321             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
1322                            _("Emulator '%1$s' does not support arch '%2$s'"),

** CID 910058:         (USE_AFTER_FREE)
/src/qemu/qemu_validate.c: 6170           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6113           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6148           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6116           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6106           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6145           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6164           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6142           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6167           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6161           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6125           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6152           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6173           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6135           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6122           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6155           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6119           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6128           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6132           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6158           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6110           in qemuValidateDomainDeviceDef()
/src/qemu/qemu_validate.c: 6138           in qemuValidateDomainDeviceDef()


_____________________________________________________________________________________________
*** CID 910058:           (USE_AFTER_FREE)
/src/qemu/qemu_validate.c: 6170             in qemuValidateDomainDeviceDef()
6164             return qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
6165     
6166         case VIR_DOMAIN_DEVICE_HUB:
6167             return qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
6168     
6169         case VIR_DOMAIN_DEVICE_SOUND:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6170             return qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps);
6171     
6172         case VIR_DOMAIN_DEVICE_MEMORY:
6173             return qemuValidateDomainDeviceDefMemory(dev->data.memory, def, qemuCaps);
6174     
6175         case VIR_DOMAIN_DEVICE_SHMEM:
/src/qemu/qemu_validate.c: 6113             in qemuValidateDomainDeviceDef()
6107     
6108         switch (dev->type) {
6109         case VIR_DOMAIN_DEVICE_NET:
6110             return qemuValidateDomainDeviceDefNetwork(dev->data.net, def, qemuCaps);
6111     
6112         case VIR_DOMAIN_DEVICE_CHR:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6113             return qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
6114     
6115         case VIR_DOMAIN_DEVICE_SMARTCARD:
6116             return qemuValidateDomainSmartcardDef(dev->data.smartcard, def, qemuCaps);
6117     
6118         case VIR_DOMAIN_DEVICE_RNG:
/src/qemu/qemu_validate.c: 6148             in qemuValidateDomainDeviceDef()
6142             return qemuValidateDomainDeviceDefVsock(qemuCaps);
6143     
6144         case VIR_DOMAIN_DEVICE_TPM:
6145             return qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCaps);
6146     
6147         case VIR_DOMAIN_DEVICE_GRAPHICS:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6148             return qemuValidateDomainDeviceDefGraphics(dev->data.graphics, def,
6149                                                       driver, qemuCaps);
6150     
6151         case VIR_DOMAIN_DEVICE_INPUT:
6152             return qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
6153     
/src/qemu/qemu_validate.c: 6116             in qemuValidateDomainDeviceDef()
6110             return qemuValidateDomainDeviceDefNetwork(dev->data.net, def, qemuCaps);
6111     
6112         case VIR_DOMAIN_DEVICE_CHR:
6113             return qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
6114     
6115         case VIR_DOMAIN_DEVICE_SMARTCARD:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6116             return qemuValidateDomainSmartcardDef(dev->data.smartcard, def, qemuCaps);
6117     
6118         case VIR_DOMAIN_DEVICE_RNG:
6119             return qemuValidateDomainRNGDef(dev->data.rng, def, qemuCaps);
6120     
6121         case VIR_DOMAIN_DEVICE_REDIRDEV:
/src/qemu/qemu_validate.c: 6106             in qemuValidateDomainDeviceDef()
6100         }
6101     
6102         if (qemuDomainUpdateCustomCapabilities(def, qemuCapsIn, &qemuCaps) < 0)
6103             return -1;
6104     
6105         if (qemuValidateDomainDeviceInfo(dev, def, qemuCaps) < 0)
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6106             return -1;
6107     
6108         switch (dev->type) {
6109         case VIR_DOMAIN_DEVICE_NET:
6110             return qemuValidateDomainDeviceDefNetwork(dev->data.net, def, qemuCaps);
6111     
/src/qemu/qemu_validate.c: 6145             in qemuValidateDomainDeviceDef()
6139                                                         qemuCaps);
6140     
6141         case VIR_DOMAIN_DEVICE_VSOCK:
6142             return qemuValidateDomainDeviceDefVsock(qemuCaps);
6143     
6144         case VIR_DOMAIN_DEVICE_TPM:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6145             return qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCaps);
6146     
6147         case VIR_DOMAIN_DEVICE_GRAPHICS:
6148             return qemuValidateDomainDeviceDefGraphics(dev->data.graphics, def,
6149                                                       driver, qemuCaps);
6150     
/src/qemu/qemu_validate.c: 6164             in qemuValidateDomainDeviceDef()
6158             return qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
6159     
6160         case VIR_DOMAIN_DEVICE_FS:
6161             return qemuValidateDomainDeviceDefFS(dev->data.fs, def, qemuCaps);
6162     
6163         case VIR_DOMAIN_DEVICE_NVRAM:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6164             return qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
6165     
6166         case VIR_DOMAIN_DEVICE_HUB:
6167             return qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
6168     
6169         case VIR_DOMAIN_DEVICE_SOUND:
/src/qemu/qemu_validate.c: 6142             in qemuValidateDomainDeviceDef()
6136     
6137         case VIR_DOMAIN_DEVICE_CONTROLLER:
6138             return qemuValidateDomainDeviceDefController(dev->data.controller, def,
6139                                                         qemuCaps);
6140     
6141         case VIR_DOMAIN_DEVICE_VSOCK:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6142             return qemuValidateDomainDeviceDefVsock(qemuCaps);
6143     
6144         case VIR_DOMAIN_DEVICE_TPM:
6145             return qemuValidateDomainDeviceDefTPM(dev->data.tpm, def, qemuCaps);
6146     
6147         case VIR_DOMAIN_DEVICE_GRAPHICS:
/src/qemu/qemu_validate.c: 6167             in qemuValidateDomainDeviceDef()
6161             return qemuValidateDomainDeviceDefFS(dev->data.fs, def, qemuCaps);
6162     
6163         case VIR_DOMAIN_DEVICE_NVRAM:
6164             return qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
6165     
6166         case VIR_DOMAIN_DEVICE_HUB:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6167             return qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
6168     
6169         case VIR_DOMAIN_DEVICE_SOUND:
6170             return qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps);
6171     
6172         case VIR_DOMAIN_DEVICE_MEMORY:
/src/qemu/qemu_validate.c: 6161             in qemuValidateDomainDeviceDef()
6155             return qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
6156     
6157         case VIR_DOMAIN_DEVICE_IOMMU:
6158             return qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
6159     
6160         case VIR_DOMAIN_DEVICE_FS:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6161             return qemuValidateDomainDeviceDefFS(dev->data.fs, def, qemuCaps);
6162     
6163         case VIR_DOMAIN_DEVICE_NVRAM:
6164             return qemuValidateDomainDeviceDefNVRAM(dev->data.nvram, def, qemuCaps);
6165     
6166         case VIR_DOMAIN_DEVICE_HUB:
/src/qemu/qemu_validate.c: 6125             in qemuValidateDomainDeviceDef()
6119             return qemuValidateDomainRNGDef(dev->data.rng, def, qemuCaps);
6120     
6121         case VIR_DOMAIN_DEVICE_REDIRDEV:
6122             return qemuValidateDomainRedirdevDef(dev->data.redirdev, def, qemuCaps);
6123     
6124         case VIR_DOMAIN_DEVICE_WATCHDOG:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6125             return qemuValidateDomainWatchdogDef(dev->data.watchdog, def);
6126     
6127         case VIR_DOMAIN_DEVICE_HOSTDEV:
6128             return qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def,
6129                                                      qemuCaps);
6130     
/src/qemu/qemu_validate.c: 6152             in qemuValidateDomainDeviceDef()
6146     
6147         case VIR_DOMAIN_DEVICE_GRAPHICS:
6148             return qemuValidateDomainDeviceDefGraphics(dev->data.graphics, def,
6149                                                       driver, qemuCaps);
6150     
6151         case VIR_DOMAIN_DEVICE_INPUT:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6152             return qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
6153     
6154         case VIR_DOMAIN_DEVICE_MEMBALLOON:
6155             return qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
6156     
6157         case VIR_DOMAIN_DEVICE_IOMMU:
/src/qemu/qemu_validate.c: 6173             in qemuValidateDomainDeviceDef()
6167             return qemuValidateDomainDeviceDefHub(dev->data.hub, qemuCaps);
6168     
6169         case VIR_DOMAIN_DEVICE_SOUND:
6170             return qemuValidateDomainDeviceDefSound(dev->data.sound, qemuCaps);
6171     
6172         case VIR_DOMAIN_DEVICE_MEMORY:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6173             return qemuValidateDomainDeviceDefMemory(dev->data.memory, def, qemuCaps);
6174     
6175         case VIR_DOMAIN_DEVICE_SHMEM:
6176             return qemuValidateDomainDeviceDefShmem(dev->data.shmem, qemuCaps);
6177     
6178         case VIR_DOMAIN_DEVICE_AUDIO:
/src/qemu/qemu_validate.c: 6135             in qemuValidateDomainDeviceDef()
6129                                                      qemuCaps);
6130     
6131         case VIR_DOMAIN_DEVICE_VIDEO:
6132             return qemuValidateDomainDeviceDefVideo(dev->data.video, def, qemuCaps);
6133     
6134         case VIR_DOMAIN_DEVICE_DISK:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6135             return qemuValidateDomainDeviceDefDisk(dev->data.disk, def, qemuCaps);
6136     
6137         case VIR_DOMAIN_DEVICE_CONTROLLER:
6138             return qemuValidateDomainDeviceDefController(dev->data.controller, def,
6139                                                         qemuCaps);
6140     
/src/qemu/qemu_validate.c: 6122             in qemuValidateDomainDeviceDef()
6116             return qemuValidateDomainSmartcardDef(dev->data.smartcard, def, qemuCaps);
6117     
6118         case VIR_DOMAIN_DEVICE_RNG:
6119             return qemuValidateDomainRNGDef(dev->data.rng, def, qemuCaps);
6120     
6121         case VIR_DOMAIN_DEVICE_REDIRDEV:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6122             return qemuValidateDomainRedirdevDef(dev->data.redirdev, def, qemuCaps);
6123     
6124         case VIR_DOMAIN_DEVICE_WATCHDOG:
6125             return qemuValidateDomainWatchdogDef(dev->data.watchdog, def);
6126     
6127         case VIR_DOMAIN_DEVICE_HOSTDEV:
/src/qemu/qemu_validate.c: 6155             in qemuValidateDomainDeviceDef()
6149                                                       driver, qemuCaps);
6150     
6151         case VIR_DOMAIN_DEVICE_INPUT:
6152             return qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
6153     
6154         case VIR_DOMAIN_DEVICE_MEMBALLOON:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6155             return qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
6156     
6157         case VIR_DOMAIN_DEVICE_IOMMU:
6158             return qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
6159     
6160         case VIR_DOMAIN_DEVICE_FS:
/src/qemu/qemu_validate.c: 6119             in qemuValidateDomainDeviceDef()
6113             return qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
6114     
6115         case VIR_DOMAIN_DEVICE_SMARTCARD:
6116             return qemuValidateDomainSmartcardDef(dev->data.smartcard, def, qemuCaps);
6117     
6118         case VIR_DOMAIN_DEVICE_RNG:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6119             return qemuValidateDomainRNGDef(dev->data.rng, def, qemuCaps);
6120     
6121         case VIR_DOMAIN_DEVICE_REDIRDEV:
6122             return qemuValidateDomainRedirdevDef(dev->data.redirdev, def, qemuCaps);
6123     
6124         case VIR_DOMAIN_DEVICE_WATCHDOG:
/src/qemu/qemu_validate.c: 6128             in qemuValidateDomainDeviceDef()
6122             return qemuValidateDomainRedirdevDef(dev->data.redirdev, def, qemuCaps);
6123     
6124         case VIR_DOMAIN_DEVICE_WATCHDOG:
6125             return qemuValidateDomainWatchdogDef(dev->data.watchdog, def);
6126     
6127         case VIR_DOMAIN_DEVICE_HOSTDEV:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6128             return qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def,
6129                                                      qemuCaps);
6130     
6131         case VIR_DOMAIN_DEVICE_VIDEO:
6132             return qemuValidateDomainDeviceDefVideo(dev->data.video, def, qemuCaps);
6133     
/src/qemu/qemu_validate.c: 6132             in qemuValidateDomainDeviceDef()
6126     
6127         case VIR_DOMAIN_DEVICE_HOSTDEV:
6128             return qemuValidateDomainDeviceDefHostdev(dev->data.hostdev, def,
6129                                                      qemuCaps);
6130     
6131         case VIR_DOMAIN_DEVICE_VIDEO:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6132             return qemuValidateDomainDeviceDefVideo(dev->data.video, def, qemuCaps);
6133     
6134         case VIR_DOMAIN_DEVICE_DISK:
6135             return qemuValidateDomainDeviceDefDisk(dev->data.disk, def, qemuCaps);
6136     
6137         case VIR_DOMAIN_DEVICE_CONTROLLER:
/src/qemu/qemu_validate.c: 6158             in qemuValidateDomainDeviceDef()
6152             return qemuValidateDomainDeviceDefInput(dev->data.input, def, qemuCaps);
6153     
6154         case VIR_DOMAIN_DEVICE_MEMBALLOON:
6155             return qemuValidateDomainDeviceDefMemballoon(dev->data.memballoon, qemuCaps);
6156     
6157         case VIR_DOMAIN_DEVICE_IOMMU:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6158             return qemuValidateDomainDeviceDefIOMMU(dev->data.iommu, def, qemuCaps);
6159     
6160         case VIR_DOMAIN_DEVICE_FS:
6161             return qemuValidateDomainDeviceDefFS(dev->data.fs, def, qemuCaps);
6162     
6163         case VIR_DOMAIN_DEVICE_NVRAM:
/src/qemu/qemu_validate.c: 6110             in qemuValidateDomainDeviceDef()
6104     
6105         if (qemuValidateDomainDeviceInfo(dev, def, qemuCaps) < 0)
6106             return -1;
6107     
6108         switch (dev->type) {
6109         case VIR_DOMAIN_DEVICE_NET:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6110             return qemuValidateDomainDeviceDefNetwork(dev->data.net, def, qemuCaps);
6111     
6112         case VIR_DOMAIN_DEVICE_CHR:
6113             return qemuValidateDomainChrDef(dev->data.chr, def, qemuCaps);
6114     
6115         case VIR_DOMAIN_DEVICE_SMARTCARD:
/src/qemu/qemu_validate.c: 6138             in qemuValidateDomainDeviceDef()
6132             return qemuValidateDomainDeviceDefVideo(dev->data.video, def, qemuCaps);
6133     
6134         case VIR_DOMAIN_DEVICE_DISK:
6135             return qemuValidateDomainDeviceDefDisk(dev->data.disk, def, qemuCaps);
6136     
6137         case VIR_DOMAIN_DEVICE_CONTROLLER:
>>>     CID 910058:           (USE_AFTER_FREE)
>>>     Calling "glib_autoptr_cleanup_virQEMUCaps" frees pointer "qemuCapsLocal" which has already been freed.
6138             return qemuValidateDomainDeviceDefController(dev->data.controller, def,
6139                                                         qemuCaps);
6140     
6141         case VIR_DOMAIN_DEVICE_VSOCK:
6142             return qemuValidateDomainDeviceDefVsock(qemuCaps);
6143     

  

View Defects in Coverity Scan

Best regards,

The Coverity Scan Admin Team