if (data[index] == 0x31 || data[index] == 0x30) {
// enter the set (skip tag + length)
index += 2;
- // extended length
+ // check for extended length
if ((data[index - 1] & 0x80) != 0) {
- index += (data[index] & 0x7F);
+ index += (data[index-1] & 0x7F);
}
}
// OID
// return code
int return_code = 0;
// card UID
- uint8_t uid[8];
+ uint8_t uid[10];
// card select information
iso14a_card_select_t card_select_info;
// power up the field
// send the PPS request
ReaderTransmit((uint8_t *)pps, sizeof(pps), NULL);
uint8_t pps_response[3];
- return_code = ReaderReceive(pps_response);
+ uint8_t pps_response_par[1];
+ return_code = ReaderReceive(pps_response, pps_response_par);
if (return_code != 3 || pps_response[0] != 0xD0) {
return return_code == 0 ? 2 : return_code;
}