X-Git-Url: http://cvs.zerfleddert.de/cgi-bin/gitweb.cgi/proxmark3-svn/blobdiff_plain/cda2a4c0a5e9b9e2a373aeb822111237ff9ec710..3b2fee43ea7d9e08b7729d662d8d010ee0e2a2e3:/client/cmdhf14b.c?ds=sidebyside diff --git a/client/cmdhf14b.c b/client/cmdhf14b.c index 83d6633c..c42d54c5 100644 --- a/client/cmdhf14b.c +++ b/client/cmdhf14b.c @@ -147,6 +147,7 @@ int CmdHF14BList(const char *Cmd) { uint8_t got[960]; GetFromBigBuf(got,sizeof(got),0); + WaitForResponse(CMD_ACK,NULL); PrintAndLog("recorded activity:"); PrintAndLog(" time :rssi: who bytes"); @@ -181,6 +182,9 @@ int CmdHF14BList(const char *Cmd) uint8_t *frame = (got+i+9); + // Break and stick with current result if buffer was not completely full + if (frame[0] == 0x44 && frame[1] == 0x44 && frame[2] == 0x44 && frame[3] == 0x44) break; + char line[1000] = ""; int j; for(j = 0; j < len; j++) { @@ -333,6 +337,11 @@ int CmdHF14BCmdRaw (const char *cmd) { PrintAndLog("Invalid char on input"); return 0; } + if (datalen == 0) + { + PrintAndLog("Missing data input"); + return 0; + } if(crc) { uint8_t first, second; @@ -358,7 +367,7 @@ int CmdHF14BCmdRaw (const char *cmd) { if (hexout != NULL) { uint8_t first, second; for (int i = 0; i < resp.arg[0]; i++) { // data in hex - sprintf(&hexout[i * 3], "%02hX ", recv[i]); + sprintf(&hexout[i * 3], "%02X ", recv[i]); } PrintAndLog("%s", hexout); free(hexout);