mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-01 16:33:02 +01:00
scd: Fix an action after card removal.
* scd/command.c (update_card_removed): Call apdu_close_reader here. -- This is update of the commit 8fe81055762d9c9e6f03fb7853a985c94ef73ac3 It is better apdu_close_reader is called in update_card_removed. The commit 1598a4476466822e7e9c757ac471089d3db4b545 introduced a regression, it doesn't close the reader after removal of the card, while the code before the commit call apdu_close_reader in do_reset. So, this fix. GnuPG-bug-id: 2449 Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
This commit is contained in:
parent
18a808bccf
commit
f9e49c80e7
@ -223,8 +223,11 @@ update_card_removed (int vrdr, int value)
|
||||
/* Let the card application layer know about the removal. */
|
||||
if (value)
|
||||
{
|
||||
int slot = vreader_slot (vrdr);
|
||||
|
||||
log_debug ("Removal of a card: %d\n", vrdr);
|
||||
application_notify_card_reset (vreader_slot (vrdr));
|
||||
apdu_close_reader (slot);
|
||||
application_notify_card_reset (slot);
|
||||
vreader_table[vrdr].slot = -1;
|
||||
}
|
||||
}
|
||||
@ -2340,10 +2343,7 @@ update_reader_status_file (int set_card_removed_flag)
|
||||
|
||||
/* Set the card removed flag for all current sessions. */
|
||||
if (vr->any && vr->status == 0 && set_card_removed_flag)
|
||||
{
|
||||
apdu_close_reader (vr->slot);
|
||||
update_card_removed (idx, 1);
|
||||
}
|
||||
update_card_removed (idx, 1);
|
||||
|
||||
vr->any = 1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user