Skip to content

Commit

Permalink
Prevent crash scanning an NTAG215 with the MFC choice
Browse files Browse the repository at this point in the history
  • Loading branch information
bettse committed Oct 21, 2024
1 parent 2b020b2 commit 1d9cf6c
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions sam_api.c
Original file line number Diff line number Diff line change
Expand Up @@ -1099,19 +1099,7 @@ NfcCommand seader_worker_card_detect(
OCTET_STRING_t atqa_string = {.buf = atqa, .size = 2};
uint8_t protocol_bytes[] = {0x00, 0x00};

if(sak == 0 && atqa == NULL) { // picopass
protocol_bytes[1] = FrameProtocol_iclass;
OCTET_STRING_fromBuf(
&cardDetails->protocol, (const char*)protocol_bytes, sizeof(protocol_bytes));
memcpy(credential->diversifier, uid, uid_len);
credential->diversifier_len = uid_len;
credential->isDesfire = false;
} else if(atqa == 0) { // MFC
protocol_bytes[1] = FrameProtocol_nfc;
OCTET_STRING_fromBuf(
&cardDetails->protocol, (const char*)protocol_bytes, sizeof(protocol_bytes));
cardDetails->sak = &sak_string;
} else { // type 4
if(sak != 0 && atqa != NULL) { // type 4
protocol_bytes[1] = FrameProtocol_nfc;
OCTET_STRING_fromBuf(
&cardDetails->protocol, (const char*)protocol_bytes, sizeof(protocol_bytes));
Expand All @@ -1122,6 +1110,20 @@ NfcCommand seader_worker_card_detect(
memcpy(credential->diversifier, uid, uid_len);
credential->diversifier_len = uid_len;
}
} else if(sak != 0 && atqa == NULL) { // MFC
protocol_bytes[1] = FrameProtocol_nfc;
OCTET_STRING_fromBuf(
&cardDetails->protocol, (const char*)protocol_bytes, sizeof(protocol_bytes));
cardDetails->sak = &sak_string;
} else if(uid_len == 8) { // picopass
protocol_bytes[1] = FrameProtocol_iclass;
OCTET_STRING_fromBuf(
&cardDetails->protocol, (const char*)protocol_bytes, sizeof(protocol_bytes));
memcpy(credential->diversifier, uid, uid_len);
credential->diversifier_len = uid_len;
credential->isDesfire = false;
} else {
FURI_LOG_D(TAG, "Unknown card type");
}

seader_send_card_detected(seader, cardDetails);
Expand Down

0 comments on commit 1d9cf6c

Please sign in to comment.