Fix challenge length handling, Fix #63

pull/64/head
Antoine FERRON 4 years ago
parent 99d48fd823
commit 97806c68db

@ -27,7 +27,7 @@ int gpg_apdu_get_challenge() {
} else {
olen = G_gpg_vstate.io_le;
}
if (olen > GPG_EXT_CHALLENGE_LENTH) {
if (olen == 0 || olen > GPG_EXT_CHALLENGE_LENTH) {
THROW(SW_WRONG_LENGTH);
return SW_WRONG_LENGTH;
}

@ -306,6 +306,7 @@ int gpg_io_do(unsigned int io_flags) {
case INS_GET_CHALLENGE:
if (G_gpg_vstate.io_p1 == 0) {
G_gpg_vstate.io_le = G_io_apdu_buffer[4];
break;
}

Loading…
Cancel
Save