summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Meissner <marcus@jet.franken.de>2012-08-01 21:48:07 +0000
committerMarcus Meissner <marcus@jet.franken.de>2012-08-01 21:48:07 +0000
commitb29c8e147efcbe629ca67ccb0e5c7bdcf01a49d0 (patch)
tree82fed4799c6ad9530f96328d4459702b1cf06e15
parent87133b729f113e9c1acca9b180a87d52a4f2c4af (diff)
downloadlibgphoto2-b29c8e147efcbe629ca67ccb0e5c7bdcf01a49d0.tar.gz
retrieve desc before using it
git-svn-id: https://svn.code.sf.net/p/gphoto/code/branches/libgphoto2-2_4/libgphoto2@14086 67ed7778-7388-44ab-90cf-0a291f65f57c
-rw-r--r--libgphoto2_port/libusb1/libusb1.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libgphoto2_port/libusb1/libusb1.c b/libgphoto2_port/libusb1/libusb1.c
index f783f3c23..f95bea569 100644
--- a/libgphoto2_port/libusb1/libusb1.c
+++ b/libgphoto2_port/libusb1/libusb1.c
@@ -1009,6 +1009,8 @@ gp_port_usb_match_device_by_class(struct libusb_device *dev, int class, int subc
if (class == 666) /* Special hack for MTP devices with MS OS descriptors. */
return gp_port_usb_match_mtp_device (dev, configno, interfaceno, altsettingno);
+ ret = libusb_get_device_descriptor(dev, &desc);
+
if (desc.bDeviceClass == class &&
(subclass == -1 ||
desc.bDeviceSubClass == subclass) &&
@@ -1016,7 +1018,6 @@ gp_port_usb_match_device_by_class(struct libusb_device *dev, int class, int subc
desc.bDeviceProtocol == protocol))
return 1;
- ret = libusb_get_device_descriptor(dev, &desc);
for (i = 0; i < desc.bNumConfigurations; i++) {
struct libusb_config_descriptor *config;