aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNIIBE Yutaka <[email protected]>2016-03-07 11:12:38 +0000
committerNIIBE Yutaka <[email protected]>2016-03-07 11:12:38 +0000
commit7a32f87cccddb40521bfdd4eb2d0dc9c88fb3fe5 (patch)
tree9d2c6dbbb2f7d8b56d6f56ab93270d861599df14
parentbuild: Make libusb a hard requirement if the ccid driver is requested. (diff)
downloadgnupg-7a32f87cccddb40521bfdd4eb2d0dc9c88fb3fe5.tar.gz
gnupg-7a32f87cccddb40521bfdd4eb2d0dc9c88fb3fe5.zip
scd: Bug fix for a device with multiple interfaces.
* scd/ccid-driver.c (scan_or_find_usb_device): Use IFC_NO when accessing interface information. -- Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r--scd/ccid-driver.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/scd/ccid-driver.c b/scd/ccid-driver.c
index 87cec3296..e968b83a7 100644
--- a/scd/ccid-driver.c
+++ b/scd/ccid-driver.c
@@ -1155,9 +1155,10 @@ scan_or_find_usb_device (int scan_mode,
for (ifc_no=0; ifc_no < config->bNumInterfaces; ifc_no++)
{
- for (set_no=0; set_no < config->interface->num_altsetting; set_no++)
+ for (set_no=0; set_no < config->interface[ifc_no].num_altsetting;
+ set_no++)
{
- ifcdesc = (config->interface->altsetting + set_no);
+ ifcdesc = (config->interface[ifc_no].altsetting + set_no);
/* The second condition is for older SCM SPR 532 who did
not know about the assigned CCID class. The third
condition does the same for a Cherry SmartTerminal