From ca6a27e4290aa2daa1a84e4820e2266279e14131 Mon Sep 17 00:00:00 2001 From: sth Date: Fri, 7 Mar 2003 14:18:55 +0000 Subject: [PATCH] remove/insert fix: restore the slot->reader in slot_token_removed git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@943 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/pkcs11/slot.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pkcs11/slot.c b/src/pkcs11/slot.c index fb99ea51..db726099 100644 --- a/src/pkcs11/slot.c +++ b/src/pkcs11/slot.c @@ -272,6 +272,7 @@ CK_RV slot_token_removed(int id) struct sc_pkcs11_slot *slot; struct sc_pkcs11_object *object; CK_SLOT_INFO saved_slot_info; + int reader; rv = slot_get_slot(id, &slot); if (rv != CKR_OK) @@ -298,10 +299,12 @@ CK_RV slot_token_removed(int id) /* Zap everything else. Restore the slot_info afterwards (it contains the reader * name, for instance) but clear its flags */ saved_slot_info = slot->slot_info; + reader = slot->reader; memset(slot, 0, sizeof(*slot)); slot->slot_info = saved_slot_info; slot->slot_info.flags = 0; slot->login_user = -1; + slot->reader = reader; if (token_was_present) slot->events = SC_EVENT_CARD_REMOVED;