don't use sc_format_apdu_ex in default driver

fixes https://github.com/OpenSC/OpenSC/issues/1731
closes https://github.com/OpenSC/OpenSC/pull/1734
This commit is contained in:
Frank Morgner 2019-08-05 01:22:05 +02:00
parent 8dc67e6a61
commit 0e97ef2ce3
1 changed files with 5 additions and 2 deletions

View File

@ -147,7 +147,10 @@ iso7816_read_binary(struct sc_card *card, unsigned int idx, u8 *buf, size_t coun
return SC_ERROR_OFFSET_TOO_LARGE;
}
sc_format_apdu_ex(card, &apdu, 0xB0, (idx >> 8) & 0x7F, idx & 0xFF, NULL, 0, buf, count);
sc_format_apdu(card, &apdu, SC_APDU_CASE_2, 0xB0, (idx >> 8) & 0x7F, idx & 0xFF);
apdu.le = count;
apdu.resplen = count;
apdu.resp = buf;
fixup_transceive_length(card, &apdu);
r = sc_transmit_apdu(card, &apdu);
@ -1496,7 +1499,7 @@ int iso7816_logout(sc_card_t *card, unsigned char pin_reference)
int r;
sc_apdu_t apdu;
sc_format_apdu_ex(card, &apdu, 0x20, 0xFF, pin_reference, NULL, 0, NULL, 0);
sc_format_apdu(card, &apdu, SC_APDU_CASE_1, 0x20, 0xFF, pin_reference);
r = sc_transmit_apdu(card, &apdu);
if (r < 0)