1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-05-28 21:50:02 +02:00

scd: Fix for --disable-ccid for scdaemon.

* scd/apdu.c (apdu_dev_list_finish): Don't call ccid_dev_scan_finish
with no table.
(apdu_open_reader): Only increment when it's zero.

Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
NIIBE Yutaka 2017-01-06 10:35:46 +09:00
parent 62268a2732
commit 858e14cd79

View File

@ -2974,7 +2974,8 @@ void
apdu_dev_list_finish (struct dev_list *dl) apdu_dev_list_finish (struct dev_list *dl)
{ {
#ifdef HAVE_LIBUSB #ifdef HAVE_LIBUSB
ccid_dev_scan_finish (dl->ccid_table, dl->idx_max); if (dl->ccid_table)
ccid_dev_scan_finish (dl->ccid_table, dl->idx_max);
#endif #endif
xfree (dl); xfree (dl);
npth_mutex_unlock (&reader_table_lock); npth_mutex_unlock (&reader_table_lock);
@ -3195,15 +3196,15 @@ apdu_open_reader (struct dev_list *dl)
else else
#endif #endif
{ /* PC/SC readers. */ { /* PC/SC readers. */
if (dl->idx++ == 0) if (dl->idx == 0)
slot = apdu_open_one_reader (dl->portstr); {
dl->idx++;
slot = apdu_open_one_reader (dl->portstr);
}
else else
slot = -1; slot = -1;
} }
if (DBG_READER)
log_debug ("leave: apdu_open_reader => slot=%d [ccid]\n", slot);
return slot; return slot;
} }