mifare function improvement: it now failed when read command does not return a whole block (16 bytes).

This commit is contained in:
Romuald Conty 2010-08-18 13:53:34 +00:00
parent 4b123ab583
commit 6354e94657

View file

@ -69,7 +69,13 @@ bool nfc_initiator_mifare_cmd(const nfc_device_t* pnd, const mifare_cmd mc, cons
if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2+szParamLen,abtRx,&szRxLen)) return false; if (!nfc_initiator_transceive_dep_bytes(pnd,abtCmd,2+szParamLen,abtRx,&szRxLen)) return false;
// When we have executed a read command, copy the received bytes into the param // When we have executed a read command, copy the received bytes into the param
if (mc == MC_READ && szRxLen == 16) memcpy(pmp->mpd.abtData,abtRx,16); if (mc == MC_READ) {
if(szRxLen == 16) {
memcpy(pmp->mpd.abtData,abtRx,16);
} else {
return false;
}
}
// Command succesfully executed // Command succesfully executed
return true; return true;