mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +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.
This commit is contained in:
parent
935550c6d3
commit
ea1a9b5fdd
@ -491,10 +491,8 @@ int qemuPrepareHostdevPCIDevices(virQEMUDriverPtr driver,
|
|||||||
/* Loop 5: Now mark all the devices as active */
|
/* Loop 5: Now mark all the devices as active */
|
||||||
for (i = 0; i < pciDeviceListCount(pcidevs); i++) {
|
for (i = 0; i < pciDeviceListCount(pcidevs); i++) {
|
||||||
pciDevice *dev = pciDeviceListGet(pcidevs, i);
|
pciDevice *dev = pciDeviceListGet(pcidevs, i);
|
||||||
if (pciDeviceListAdd(driver->activePciHostdevs, dev) < 0) {
|
if (pciDeviceListAdd(driver->activePciHostdevs, dev) < 0)
|
||||||
pciFreeDevice(dev);
|
|
||||||
goto inactivedevs;
|
goto inactivedevs;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Loop 6: Now remove the devices from inactive list. */
|
/* Loop 6: Now remove the devices from inactive list. */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user