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

View File

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