From 0498ea8fbd57d0df3093301d551db6b287ccf622 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Fri, 7 May 2021 11:25:20 +0900 Subject: scd: Increment PCSC.COUNT correctly. * scd/apdu.c (open_pcsc_reader): PCSC.COUNT should be incremented before possible call of close_pcsc_reader. -- Signed-off-by: NIIBE Yutaka --- scd/apdu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scd/apdu.c b/scd/apdu.c index d34127a10..34e606ada 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -1237,11 +1237,12 @@ open_pcsc_reader (const char *rdrname) if (slot == -1) return -1; + pcsc.count++; reader_table[slot].rdrname = xtrystrdup (rdrname); if (!reader_table[slot].rdrname) { log_error ("error allocating memory for reader name\n"); - close_pcsc_reader (0); + close_pcsc_reader (slot); reader_table[slot].used = 0; unlock_slot (slot); return -1; @@ -1258,7 +1259,6 @@ open_pcsc_reader (const char *rdrname) reader_table[slot].send_apdu_reader = pcsc_send_apdu; reader_table[slot].dump_status_reader = dump_pcsc_reader_status; - pcsc.count++; dump_reader_status (slot); unlock_slot (slot); return slot; -- cgit v1.2.3