From 858e14cd794e2a6125d51e652a754bbe26def997 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 6 Jan 2017 10:35:46 +0900 Subject: 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 --- scd/apdu.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'scd') diff --git a/scd/apdu.c b/scd/apdu.c index db46c4dfe..38ebd2be5 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -2974,7 +2974,8 @@ void apdu_dev_list_finish (struct dev_list *dl) { #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 xfree (dl); npth_mutex_unlock (&reader_table_lock); @@ -3195,15 +3196,15 @@ apdu_open_reader (struct dev_list *dl) else #endif { /* PC/SC readers. */ - if (dl->idx++ == 0) - slot = apdu_open_one_reader (dl->portstr); + if (dl->idx == 0) + { + dl->idx++; + slot = apdu_open_one_reader (dl->portstr); + } else slot = -1; } - if (DBG_READER) - log_debug ("leave: apdu_open_reader => slot=%d [ccid]\n", slot); - return slot; } -- cgit v1.2.3