From: Cédric Bosdonnat Date: Tue, 10 Jan 2017 16:09:03 +0000 (+0100) Subject: libxl: fix usb inputs loop error X-Git-Tag: v3.0.0-rc2~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=162bb0e7b1ed64300b838dac9532c3c38bdaa234;p=thirdparty%2Flibvirt.git libxl: fix usb inputs loop error List indexes where mixed up in the code looping over the USB input devices. --- diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index ac83b51c7e..a24f9e052e 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -479,7 +479,8 @@ libxlMakeDomBuildInfo(virDomainDefPtr def, if (VIR_EXPAND_N(b_info->u.hvm.usbdevice_list, nusbdevice, 1) < 0) return -1; #else - if (i > 1) { + nusbdevice++; + if (nusbdevice > 1) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("libxenlight supports only one input device")); return -1; @@ -487,7 +488,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