fix crc search with padding

This commit is contained in:
merlokk 2021-07-27 18:28:41 +03:00
parent 4c743d4772
commit 0b6546012a

View file

@ -124,7 +124,8 @@ size_t DesfireSearchCRCPos(uint8_t *data, size_t datalen, uint8_t respcode, uint
uint8_t crcdata[1024] = {0}; uint8_t crcdata[1024] = {0};
size_t crcposfound = 0; size_t crcposfound = 0;
for (int i = 0; i < crclen + 1; i++) { // crc may be 00..00 and at the end of file may be padding 0x80. so we search from last zero to crclen + 2 (one for crc=0 and one for padding 0x80)
for (int i = 0; i < crclen + 2; i++) {
if (crcpos - i == 0) if (crcpos - i == 0)
break; break;
if (crcpos - i + crclen > datalen) if (crcpos - i + crclen > datalen)