From f9c06d35b23e870274e20377734b05d776f76fd2 Mon Sep 17 00:00:00 2001 From: Ludovic Rousseau Date: Fri, 19 Nov 2010 08:46:00 +0100 Subject: [PATCH] Check libusb_get_active_config_descriptor return value Avoids a crash if libusb_get_active_config_descriptor() returns with an error code. --- linux/hid-libusb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/linux/hid-libusb.c b/linux/hid-libusb.c index 82da7ab..0fbca57 100644 --- a/linux/hid-libusb.c +++ b/linux/hid-libusb.c @@ -550,7 +550,8 @@ hid_device * HID_API_EXPORT hid_open_path(const char *path) int i,j,k; libusb_get_device_descriptor(usb_dev, &desc); - libusb_get_active_config_descriptor(usb_dev, &conf_desc); + if (libusb_get_active_config_descriptor(usb_dev, &conf_desc) < 0) + continue; for (j = 0; j < conf_desc->bNumInterfaces; j++) { const struct libusb_interface *intf = &conf_desc->interface[j]; for (k = 0; k < intf->num_altsetting; k++) {