From 7e6dc25c400d25e511a3aa0065571adf672508a4 Mon Sep 17 00:00:00 2001 From: Frank Morgner Date: Fri, 2 Sep 2016 02:05:34 +0200 Subject: [PATCH] remove all login states when the token was removed --- src/pkcs11/pkcs11-global.c | 1 - src/pkcs11/slot.c | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pkcs11/pkcs11-global.c b/src/pkcs11/pkcs11-global.c index 9af60e34..11a49ac4 100644 --- a/src/pkcs11/pkcs11-global.c +++ b/src/pkcs11/pkcs11-global.c @@ -316,7 +316,6 @@ CK_RV C_Finalize(CK_VOID_PTR pReserved) while ((slot = list_fetch(&virtual_slots))) { list_destroy(&slot->objects); - pop_all_login_states(slot); list_destroy(&slot->logins); free(slot); } diff --git a/src/pkcs11/slot.c b/src/pkcs11/slot.c index b56590cb..45be6d41 100644 --- a/src/pkcs11/slot.c +++ b/src/pkcs11/slot.c @@ -449,6 +449,7 @@ CK_RV slot_token_removed(CK_SLOT_ID id) /* Reset relevant slot properties */ slot->slot_info.flags &= ~CKF_TOKEN_PRESENT; slot->login_user = -1; + pop_all_login_states(slot); slot->p11card = NULL; if (token_was_present)