Only send response apdu if sw != 0.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
This commit is contained in:
Pol Henarejos 2022-09-27 22:10:47 +02:00
parent 2aff75a3ec
commit c5095dfec6
No known key found for this signature in database
GPG key ID: C0095B7870A4CCD3

View file

@ -169,18 +169,20 @@ void apdu_finish() {
}
size_t apdu_next() {
if (apdu.rlen <= apdu.ne)
return apdu.rlen + 2;
else {
rdata_gr = apdu.rdata+apdu.ne;
rdata_bk = *(uint16_t *)rdata_gr;
rdata_gr[0] = 0x61;
if (apdu.rlen - apdu.ne >= 256)
rdata_gr[1] = 0;
else
rdata_gr[1] = apdu.rlen - apdu.ne;
apdu.rlen -= apdu.ne;
if (apdu.sw != 0) {
if (apdu.rlen <= apdu.ne)
return apdu.rlen + 2;
else {
rdata_gr = apdu.rdata+apdu.ne;
rdata_bk = *(uint16_t *)rdata_gr;
rdata_gr[0] = 0x61;
if (apdu.rlen - apdu.ne >= 256)
rdata_gr[1] = 0;
else
rdata_gr[1] = apdu.rlen - apdu.ne;
apdu.rlen -= apdu.ne;
}
return apdu.ne + 2;
}
return apdu.ne + 2;
return 0;
}