[libvirt] [PATCH] libxl: fix usb inputs loop error
Jim Fehlig
jfehlig at suse.com
Tue Jan 10 21:34:10 UTC 2017
Cédric Bosdonnat wrote:
> List indexes where mixed up in the code looping over the USB
> input devices.
> ---
> src/libxl/libxl_conf.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
> index ac83b51c7..1053e60a1 100644
> --- a/src/libxl/libxl_conf.c
> +++ b/src/libxl/libxl_conf.c
> @@ -479,7 +479,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
> if (VIR_EXPAND_N(b_info->u.hvm.usbdevice_list, nusbdevice, 1) < 0)
> return -1;
> #else
> - if (i > 1) {
> + if (nusbdevice > 1) {
IIUC, when LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST is not defined nusbdevice will
always be 0. I think we need to increment it before the > 1 check.
Regards,
Jim
> virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> _("libxenlight supports only one input device"));
> return -1;
> @@ -487,7 +487,7 @@ libxlMakeDomBuildInfo(virDomainDefPtr def,
> #endif
>
> #ifdef LIBXL_HAVE_BUILDINFO_USBDEVICE_LIST
> - usbdevice = &b_info->u.hvm.usbdevice_list[i];
> + usbdevice = &b_info->u.hvm.usbdevice_list[nusbdevice - 1];
> #else
> usbdevice = &b_info->u.hvm.usbdevice;
> #endif
More information about the libvir-list
mailing list