From 41b3b50613ec8dc4ad63d4f14fe4e1844abde8f6 Mon Sep 17 00:00:00 2001 From: Klas Lindfors Date: Wed, 11 Nov 2015 15:02:55 +0100 Subject: [PATCH] always reset the context to SCARD_INVALID_CONTEXT after release --- lib/ykpiv.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/ykpiv.c b/lib/ykpiv.c index 87a1481..51aeb5d 100644 --- a/lib/ykpiv.c +++ b/lib/ykpiv.c @@ -195,6 +195,7 @@ ykpiv_rc ykpiv_connect(ykpiv_state *state, const char *wanted) { fprintf(stderr, "error: no useable reader found.\n"); } SCardReleaseContext(state->context); + state->context = SCARD_E_INVALID_HANDLE; return YKPIV_PCSC_ERROR; } @@ -221,6 +222,7 @@ ykpiv_rc ykpiv_list_readers(ykpiv_state *state, char *readers, size_t *len) { fprintf (stderr, "error: SCardListReaders failed, rc=%08lx\n", rc); } SCardReleaseContext(state->context); + state->context = SCARD_E_INVALID_HANDLE; return YKPIV_PCSC_ERROR; } @@ -235,6 +237,7 @@ ykpiv_rc ykpiv_list_readers(ykpiv_state *state, char *readers, size_t *len) { fprintf (stderr, "error: SCardListReaders failed, rc=%08lx\n", rc); } SCardReleaseContext(state->context); + state->context = SCARD_E_INVALID_HANDLE; return YKPIV_PCSC_ERROR; }