diff options
author | NIIBE Yutaka <[email protected]> | 2021-07-22 02:22:47 +0000 |
---|---|---|
committer | NIIBE Yutaka <[email protected]> | 2021-07-22 02:22:47 +0000 |
commit | 5c8124b8b9554c7843feccf408648c9689bce243 (patch) | |
tree | c2f004c3e564f8ca2bb853d2668da7d17cdd402e | |
parent | scd: Fix direct use of card with no ctrl->card_ctx. (diff) | |
download | gnupg-5c8124b8b9554c7843feccf408648c9689bce243.tar.gz gnupg-5c8124b8b9554c7843feccf408648c9689bce243.zip |
scd: Small clean up for card access.
* scd/app.c (app_get_challenge): Remove the check to ref_count.
* scd/command.c (send_client_notifications): Update comments.
Signed-off-by: NIIBE Yutaka <[email protected]>
-rw-r--r-- | scd/app.c | 9 | ||||
-rw-r--r-- | scd/command.c | 12 |
2 files changed, 11 insertions, 10 deletions
@@ -2204,18 +2204,11 @@ gpg_error_t app_get_challenge (card_t card, ctrl_t ctrl, size_t nbytes, unsigned char *buffer) { - gpg_error_t err; - (void)ctrl; if (!nbytes || !buffer) return gpg_error (GPG_ERR_INV_VALUE); - if (!card->ref_count) - err = gpg_error (GPG_ERR_CARD_NOT_INITIALIZED); - else - err = iso7816_get_challenge (card->slot, nbytes, buffer); - - return err; + return iso7816_get_challenge (card->slot, nbytes, buffer); } diff --git a/scd/command.c b/scd/command.c index 5ba71a4aa..0819318e7 100644 --- a/scd/command.c +++ b/scd/command.c @@ -2851,8 +2851,16 @@ popup_prompt (void *opaque, int on) } -/* Helper to send the clients a status change notification. Note that - * this function assumes that APP is already locked. */ +/* + * Helper to send the clients a status change notification. + * + * When it's removal of card, this function also clean up all + * references by ctrl->card_ctx of all sessions. + * + * Note that this function assumes that all accesses to cards and + * applications are locked. By the mrsw-lock, it is guaranteed that + * no card/app is accessed, when this function is called.. + */ void send_client_notifications (card_t card, int removal) { |