From: Hsiangkai Wang Date: Wed, 26 Dec 2012 09:32:10 +0000 (+0800) Subject: libusb: idProduct of USB device may be zero X-Git-Tag: v0.7.0-rc1~94 X-Git-Url: https://review.openocd.org/gitweb?a=commitdiff_plain;h=f807d6ab3dc86cd258fb459546b52d9b07fe7986;hp=3eb7d77601b268ac50f9efd152409e1e7a1d83c7;p=openocd.git libusb: idProduct of USB device may be zero There is no constraint about idProduct in USB spec. So, pids[i] may be 0 for USB devices. Change-Id: I19d8974f4e7082e8b7e1f2d33c019ac4e61bc1e2 Signed-off-by: Hsiangkai Wang Reviewed-on: http://openocd.zylin.com/1091 Tested-by: jenkins Reviewed-by: Xiaofan Reviewed-by: Freddie Chopin --- diff --git a/src/jtag/drivers/libusb0_common.c b/src/jtag/drivers/libusb0_common.c index c731ee5452..9662803f83 100644 --- a/src/jtag/drivers/libusb0_common.c +++ b/src/jtag/drivers/libusb0_common.c @@ -28,7 +28,7 @@ static bool jtag_libusb_match(struct jtag_libusb_device *dev, const uint16_t vids[], const uint16_t pids[]) { - for (unsigned i = 0; vids[i] && pids[i]; i++) { + for (unsigned i = 0; vids[i]; i++) { if (dev->descriptor.idVendor == vids[i] && dev->descriptor.idProduct == pids[i]) { return true; diff --git a/src/jtag/drivers/libusb1_common.c b/src/jtag/drivers/libusb1_common.c index 194f737cde..dc6c0a7252 100644 --- a/src/jtag/drivers/libusb1_common.c +++ b/src/jtag/drivers/libusb1_common.c @@ -33,7 +33,7 @@ static bool jtag_libusb_match(struct jtag_libusb_device *dev, { struct libusb_device_descriptor dev_desc; - for (unsigned i = 0; vids[i] && pids[i]; i++) { + for (unsigned i = 0; vids[i]; i++) { if (libusb_get_device_descriptor(dev, &dev_desc) == 0) { if (dev_desc.idVendor == vids[i] && dev_desc.idProduct == pids[i])