diff options
author | Marcus Meissner <marcus@jet.franken.de> | 2012-08-01 21:48:07 +0000 |
---|---|---|
committer | Marcus Meissner <marcus@jet.franken.de> | 2012-08-01 21:48:07 +0000 |
commit | b29c8e147efcbe629ca67ccb0e5c7bdcf01a49d0 (patch) | |
tree | 82fed4799c6ad9530f96328d4459702b1cf06e15 | |
parent | 87133b729f113e9c1acca9b180a87d52a4f2c4af (diff) | |
download | libgphoto2-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.c | 3 |
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; |