@@ -2451,11 +2451,10 @@ if (!slot->slot_reset) { if (slot->cached_certs) { if (certs == NULL) { certs = malloc(sizeof(*certs) * slot->cached_certs_count); *count = slot->cached_certs_count; - } else { if (*count > slot->cached_certs_count) { *count = slot->cached_certs_count; } } @@ -3080,10 +3079,12 @@ key_reference = 0x80; break; default: break; } + + cackey_free_certs(pcsc_identities, num_certs, 1); } /* Issue PIN Verify */ send_ret = cackey_send_apdu(slot, GSCIS_CLASS_ISO7816, GSCIS_INSTR_VERIFY, 0x00, key_reference, sizeof(cac_pin), cac_pin, 0x00, &response_code, NULL, NULL);