Initialize context to -1 and always call establish context.
This commit is contained in:
+6
-7
@@ -103,6 +103,7 @@ ykpiv_rc ykpiv_init(ykpiv_state **state, int verbose) {
|
|||||||
}
|
}
|
||||||
memset(s, 0, sizeof(ykpiv_state));
|
memset(s, 0, sizeof(ykpiv_state));
|
||||||
s->verbose = verbose;
|
s->verbose = verbose;
|
||||||
|
s->context = -1;
|
||||||
*state = s;
|
*state = s;
|
||||||
return YKPIV_OK;
|
return YKPIV_OK;
|
||||||
}
|
}
|
||||||
@@ -204,14 +205,12 @@ ykpiv_rc ykpiv_list_readers(ykpiv_state *state, char *readers, size_t *len) {
|
|||||||
unsigned long num_readers = 0;
|
unsigned long num_readers = 0;
|
||||||
long rc;
|
long rc;
|
||||||
|
|
||||||
if(SCardIsValidContext(state->context) != SCARD_S_SUCCESS) {
|
rc = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &state->context);
|
||||||
rc = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &state->context);
|
if (rc != SCARD_S_SUCCESS) {
|
||||||
if (rc != SCARD_S_SUCCESS) {
|
if(state->verbose) {
|
||||||
if(state->verbose) {
|
fprintf (stderr, "error: SCardEstablishContext failed, rc=%08lx\n", rc);
|
||||||
fprintf (stderr, "error: SCardEstablishContext failed, rc=%08lx\n", rc);
|
|
||||||
}
|
|
||||||
return YKPIV_PCSC_ERROR;
|
|
||||||
}
|
}
|
||||||
|
return YKPIV_PCSC_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
rc = SCardListReaders(state->context, NULL, NULL, &num_readers);
|
rc = SCardListReaders(state->context, NULL, NULL, &num_readers);
|
||||||
|
|||||||
Reference in New Issue
Block a user