[libvirt] [PATCH] usb: fix crash when failing to attach a second usb device

Michal Privoznik mprivozn at redhat.com
Fri May 11 08:19:01 UTC 2012


On 11.05.2012 08:46, Guannan Ren wrote:
> 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 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index ad31eba..9b60816 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;
>  }
>  

ACK

Michal




More information about the libvir-list mailing list