mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-16 09:35:16 +00:00
qemu: Don't free PCI device if adding it to activePciHostdevs fails
The device is still referenced from pcidevs and freeing it would leave an invalid pointer there. (cherry picked from commit ea1a9b5fddd1562abf31eb5c2502879bfd25903e)
This commit is contained in:
parent
6187407154
commit
9034c9286e
@ -491,10 +491,8 @@ int qemuPrepareHostdevPCIDevices(struct qemud_driver *driver,
|
||||
/* Loop 5: Now mark all the devices as active */
|
||||
for (i = 0; i < pciDeviceListCount(pcidevs); i++) {
|
||||
pciDevice *dev = pciDeviceListGet(pcidevs, i);
|
||||
if (pciDeviceListAdd(driver->activePciHostdevs, dev) < 0) {
|
||||
pciFreeDevice(dev);
|
||||
if (pciDeviceListAdd(driver->activePciHostdevs, dev) < 0)
|
||||
goto inactivedevs;
|
||||
}
|
||||
}
|
||||
|
||||
/* Loop 6: Now remove the devices from inactive list. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user