diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index d8507eeca1..96033ac54c 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1501,7 +1501,10 @@ cleanup: } if (added) virUSBDeviceListSteal(driver->activeUsbHostdevs, usb); - virUSBDeviceFree(usb); + if (list && usb && + !virUSBDeviceListFind(list, usb) && + !virUSBDeviceListFind(driver->activeUsbHostdevs, usb)) + virUSBDeviceFree(usb); virObjectUnref(list); VIR_FREE(devstr); return ret;