From ab5fb8f34c93661bb19b62e4ed3592fb53cd6b36 Mon Sep 17 00:00:00 2001 From: Guannan Ren Date: Fri, 11 May 2012 14:29:15 +0800 Subject: [PATCH] usb: fix crash when failing to attach a second usb device when failing to attach another usb device to a domain for some reason which has one use device attached before, the libvirtd crashed. The crash is caused by null-pointer dereference error in invoking usbDeviceListSteal passed in NULL value usb variable. commit 05abd1507d66aabb6cad12eeafeb4c4d1911c585 introduces the bug. --- src/qemu/qemu_hotplug.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index ad31eba630..9b608162fe 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -1213,7 +1213,8 @@ error: cleanup: usbDeviceListFree(list); - usbDeviceListSteal(driver->activeUsbHostdevs, usb); + if (usb) + usbDeviceListSteal(driver->activeUsbHostdevs, usb); return -1; } -- GitLab