diff options
author | NIIBE Yutaka <[email protected]> | 2021-05-06 10:05:30 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2021-05-06 10:05:30 +0000 |
commit | d6fe82d3d1699eb417f87b487048f95fee91e2cd (patch) | |
tree | 8fb5fa82fef0a06f180be3d37f880da5e8e65073 | |
parent | scd: Fix PC/SC removed card problem (diff) | |
download | gnupg-d6fe82d3d1699eb417f87b487048f95fee91e2cd.tar.gz gnupg-d6fe82d3d1699eb417f87b487048f95fee91e2cd.zip |
scd: When reader is specified, make sure only open once.
* scd/apdu.c (apdu_open_reader): Make sure not to try multiple times,
when PORTSTR is specified.
--
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/apdu.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/scd/apdu.c b/scd/apdu.c index 1dd6427da..44ef445c8 100644 --- a/scd/apdu.c +++ b/scd/apdu.c @@ -2142,6 +2142,11 @@ apdu_open_reader (struct dev_list *dl) if (readerno < 0 || readerno >= dl->idx_max) return -1; + /* If already opened HANDLE, return -1. */ + for (slot = 0; slot < MAX_READER; slot++) + if (reader_table[slot].used) + return -1; + dl->idx = readerno; dl->portstr = NULL; } |