From 6b89748111c892a1b2c4949ffdf9007376f0ea6a Mon Sep 17 00:00:00 2001 From: "ludovic.rousseau" Date: Fri, 10 Oct 2008 09:39:27 +0000 Subject: [PATCH] slot_get_token(): return CKR_TOKEN_NOT_PRESENT if CKF_TOKEN_PRESENT is not set. Thanks to Douglas E. Engert for the patch http://www.opensc-project.org/pipermail/opensc-devel/2008-October/011361.html git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3583 c6295689-39f2-0310-b995-f0e70906c6a9 --- src/pkcs11/slot.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/pkcs11/slot.c b/src/pkcs11/slot.c index 45bd6bde..063bcfc5 100644 --- a/src/pkcs11/slot.c +++ b/src/pkcs11/slot.c @@ -272,6 +272,12 @@ CK_RV slot_get_token(int id, struct sc_pkcs11_slot **slot) if (rv != CKR_OK) return CKR_TOKEN_NOT_PRESENT; } + + if (!((*slot)->slot_info.flags & CKF_TOKEN_PRESENT)) + { + sc_debug(context, "card detected, but slot not presenting token"); + return CKR_TOKEN_NOT_PRESENT; + } return CKR_OK; }