mirror of
https://github.com/Proxmark/proxmark3.git
synced 2025-07-11 15:56:09 -07:00
fix #532. looks at length of parameters.
This commit is contained in:
parent
0f112d6f19
commit
55b700a0ac
1 changed files with 23 additions and 18 deletions
|
@ -987,6 +987,7 @@ int CmdHF14AMfChk(const char *Cmd)
|
||||||
int i, res;
|
int i, res;
|
||||||
int keycnt = 0;
|
int keycnt = 0;
|
||||||
char ctmp = 0x00;
|
char ctmp = 0x00;
|
||||||
|
int clen = 0;
|
||||||
char ctmp3[3] = {0x00};
|
char ctmp3[3] = {0x00};
|
||||||
uint8_t blockNo = 0;
|
uint8_t blockNo = 0;
|
||||||
uint8_t SectorsCnt = 0;
|
uint8_t SectorsCnt = 0;
|
||||||
|
@ -1015,32 +1016,36 @@ int CmdHF14AMfChk(const char *Cmd)
|
||||||
blockNo = param_get8(Cmd, 0);
|
blockNo = param_get8(Cmd, 0);
|
||||||
|
|
||||||
ctmp = param_getchar(Cmd, 1);
|
ctmp = param_getchar(Cmd, 1);
|
||||||
switch (ctmp) {
|
clen = param_getlength(Cmd, 1);
|
||||||
case 'a': case 'A':
|
if (clen == 1) {
|
||||||
keyType = 0;
|
switch (ctmp) {
|
||||||
break;
|
case 'a': case 'A':
|
||||||
case 'b': case 'B':
|
keyType = 0;
|
||||||
keyType = 1;
|
break;
|
||||||
break;
|
case 'b': case 'B':
|
||||||
case '?':
|
keyType = 1;
|
||||||
keyType = 2;
|
break;
|
||||||
break;
|
case '?':
|
||||||
default:
|
keyType = 2;
|
||||||
PrintAndLog("Key type must be A , B or ?");
|
break;
|
||||||
free(keyBlock);
|
default:
|
||||||
return 1;
|
PrintAndLog("Key type must be A , B or ?");
|
||||||
};
|
free(keyBlock);
|
||||||
|
return 1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// transfer to emulator & create dump file
|
// transfer to emulator & create dump file
|
||||||
ctmp = param_getchar(Cmd, 2);
|
ctmp = param_getchar(Cmd, 2);
|
||||||
if (ctmp == 't' || ctmp == 'T') transferToEml = 1;
|
clen = param_getlength(Cmd, 2);
|
||||||
if (ctmp == 'd' || ctmp == 'D') createDumpFile = 1;
|
if (clen == 1 && (ctmp == 't' || ctmp == 'T')) transferToEml = 1;
|
||||||
|
if (clen == 1 && (ctmp == 'd' || ctmp == 'D')) createDumpFile = 1;
|
||||||
|
|
||||||
param3InUse = transferToEml | createDumpFile;
|
param3InUse = transferToEml | createDumpFile;
|
||||||
|
|
||||||
timeout14a = 500; // fast by default
|
timeout14a = 500; // fast by default
|
||||||
// double parameters - ts, ds
|
// double parameters - ts, ds
|
||||||
int clen = param_getlength(Cmd, 2);
|
clen = param_getlength(Cmd, 2);
|
||||||
if (clen == 2 || clen == 3){
|
if (clen == 2 || clen == 3){
|
||||||
param_getstr(Cmd, 2, ctmp3, sizeof(ctmp3));
|
param_getstr(Cmd, 2, ctmp3, sizeof(ctmp3));
|
||||||
ctmp = ctmp3[1];
|
ctmp = ctmp3[1];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue