mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-21 13:53:55 -07:00
FIX: Some Coverity Scan warnings. fread, not initialised etc etc
This commit is contained in:
parent
5bb6228386
commit
cd777a0545
7 changed files with 81 additions and 88 deletions
|
@ -28,8 +28,7 @@ size_t nbytes(size_t nbits) {
|
|||
return (nbits/8)+((nbits%8)>0);
|
||||
}
|
||||
|
||||
int CmdLFHitagList(const char *Cmd)
|
||||
{
|
||||
int CmdLFHitagList(const char *Cmd) {
|
||||
uint8_t *got = malloc(USB_CMD_DATA_SIZE);
|
||||
|
||||
// Query for the actual size of the trace
|
||||
|
@ -58,13 +57,14 @@ int CmdLFHitagList(const char *Cmd)
|
|||
int len = strlen(Cmd);
|
||||
|
||||
char filename[FILE_PATH_SIZE] = { 0x00 };
|
||||
FILE* pf = NULL;
|
||||
FILE* f = NULL;
|
||||
|
||||
if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
|
||||
memcpy(filename, Cmd, len);
|
||||
|
||||
if (strlen(filename) > 0) {
|
||||
if ((pf = fopen(filename,"wb")) == NULL) {
|
||||
f = fopen(filename,"wb");
|
||||
if (!f) {
|
||||
PrintAndLog("Error: Could not open file [%s]",filename);
|
||||
return 1;
|
||||
}
|
||||
|
@ -129,8 +129,8 @@ int CmdLFHitagList(const char *Cmd)
|
|||
(isResponse ? "TAG" : " "),
|
||||
line);
|
||||
|
||||
if (pf) {
|
||||
fprintf(pf," +%7d: %3d: %s %s\n",
|
||||
if (f) {
|
||||
fprintf(f," +%7d: %3d: %s %s\n",
|
||||
(prev < 0 ? 0 : (timestamp - prev)),
|
||||
bits,
|
||||
(isResponse ? "TAG" : " "),
|
||||
|
@ -141,8 +141,8 @@ int CmdLFHitagList(const char *Cmd)
|
|||
i += (len + 9);
|
||||
}
|
||||
|
||||
if (pf) {
|
||||
fclose(pf);
|
||||
if (f) {
|
||||
fclose(f);
|
||||
PrintAndLog("Recorded activity succesfully written to file: %s", filename);
|
||||
}
|
||||
|
||||
|
@ -161,7 +161,7 @@ int CmdLFHitagSim(const char *Cmd) {
|
|||
|
||||
UsbCommand c = {CMD_SIMULATE_HITAG};
|
||||
char filename[FILE_PATH_SIZE] = { 0x00 };
|
||||
FILE* pf;
|
||||
FILE* f;
|
||||
bool tag_mem_supplied;
|
||||
|
||||
int len = strlen(Cmd);
|
||||
|
@ -169,25 +169,25 @@ int CmdLFHitagSim(const char *Cmd) {
|
|||
memcpy(filename, Cmd, len);
|
||||
|
||||
if (strlen(filename) > 0) {
|
||||
if ((pf = fopen(filename,"rb+")) == NULL) {
|
||||
f = fopen(filename,"rb+");
|
||||
if (!f) {
|
||||
PrintAndLog("Error: Could not open file [%s]",filename);
|
||||
return 1;
|
||||
}
|
||||
tag_mem_supplied = true;
|
||||
size_t bytes_read = fread(c.d.asBytes, 48, 1, pf);
|
||||
size_t bytes_read = fread(c.d.asBytes, 48, 1, f);
|
||||
if ( bytes_read == 0) {
|
||||
PrintAndLog("Error: File reading error");
|
||||
fclose(pf);
|
||||
fclose(f);
|
||||
return 1;
|
||||
}
|
||||
fclose(pf);
|
||||
fclose(f);
|
||||
} else {
|
||||
tag_mem_supplied = false;
|
||||
}
|
||||
|
||||
// Does the tag comes with memory
|
||||
c.arg[0] = (uint32_t)tag_mem_supplied;
|
||||
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
return 0;
|
||||
|
@ -195,7 +195,6 @@ int CmdLFHitagSim(const char *Cmd) {
|
|||
|
||||
int CmdLFHitagReader(const char *Cmd) {
|
||||
|
||||
|
||||
UsbCommand c = {CMD_READER_HITAG};//, {param_get32ex(Cmd,0,0,10),param_get32ex(Cmd,1,0,16),param_get32ex(Cmd,2,0,16),param_get32ex(Cmd,3,0,16)}};
|
||||
hitag_data* htd = (hitag_data*)c.d.asBytes;
|
||||
hitag_function htf = param_get32ex(Cmd,0,0,10);
|
||||
|
@ -241,11 +240,8 @@ int CmdLFHitagReader(const char *Cmd) {
|
|||
|
||||
// Copy the hitag2 function into the first argument
|
||||
c.arg[0] = htf;
|
||||
|
||||
clearCommandBuffer();
|
||||
// Send the command to the proxmark
|
||||
SendCommand(&c);
|
||||
|
||||
UsbCommand resp;
|
||||
WaitForResponse(CMD_ACK,&resp);
|
||||
|
||||
|
@ -253,28 +249,27 @@ int CmdLFHitagReader(const char *Cmd) {
|
|||
if (resp.arg[0] == false) return 1;
|
||||
|
||||
uint32_t id = bytes_to_num(resp.d.asBytes,4);
|
||||
char filename[FILE_PATH_SIZE];
|
||||
FILE* pf = NULL;
|
||||
|
||||
char filename[FILE_PATH_SIZE];
|
||||
FILE* f = NULL;
|
||||
sprintf(filename,"%08x_%04x.ht2",id,(rand() & 0xffff));
|
||||
if ((pf = fopen(filename,"wb")) == NULL) {
|
||||
f = fopen(filename,"wb");
|
||||
if (!f) {
|
||||
PrintAndLog("Error: Could not open file [%s]",filename);
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Write the 48 tag memory bytes to file and finalize
|
||||
fwrite(resp.d.asBytes,1,48,pf);
|
||||
fclose(pf);
|
||||
|
||||
fwrite(resp.d.asBytes, 1, 48, f);
|
||||
fclose(f);
|
||||
PrintAndLog("Succesfully saved tag memory to [%s]",filename);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int CmdLFHitagSimS(const char *Cmd) {
|
||||
UsbCommand c = { CMD_SIMULATE_HITAG_S };
|
||||
char filename[FILE_PATH_SIZE] = { 0x00 };
|
||||
FILE* pf;
|
||||
FILE* f;
|
||||
bool tag_mem_supplied;
|
||||
int len = strlen(Cmd);
|
||||
if (len > FILE_PATH_SIZE)
|
||||
|
@ -282,24 +277,26 @@ int CmdLFHitagSimS(const char *Cmd) {
|
|||
memcpy(filename, Cmd, len);
|
||||
|
||||
if (strlen(filename) > 0) {
|
||||
if ((pf = fopen(filename, "rb+")) == NULL) {
|
||||
f = fopen(filename, "rb+");
|
||||
if (!f) {
|
||||
PrintAndLog("Error: Could not open file [%s]", filename);
|
||||
return 1;
|
||||
}
|
||||
tag_mem_supplied = true;
|
||||
if (fread(c.d.asBytes, 4*64, 1, pf) == 0) {
|
||||
size_t bytes_read = fread(c.d.asBytes, 4*64, 1, f);
|
||||
if ( bytes_read == 0) {
|
||||
PrintAndLog("Error: File reading error");
|
||||
fclose(pf);
|
||||
fclose(f);
|
||||
return 1;
|
||||
}
|
||||
fclose(pf);
|
||||
fclose(f);
|
||||
} else {
|
||||
tag_mem_supplied = false;
|
||||
}
|
||||
|
||||
// Does the tag comes with memory
|
||||
c.arg[0] = (uint32_t) tag_mem_supplied;
|
||||
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
return 0;
|
||||
}
|
||||
|
@ -307,36 +304,37 @@ int CmdLFHitagSimS(const char *Cmd) {
|
|||
int CmdLFHitagCheckChallenges(const char *Cmd) {
|
||||
UsbCommand c = { CMD_TEST_HITAGS_TRACES };
|
||||
char filename[FILE_PATH_SIZE] = { 0x00 };
|
||||
FILE* pf;
|
||||
FILE* f;
|
||||
bool file_given;
|
||||
int len = strlen(Cmd);
|
||||
if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;
|
||||
memcpy(filename, Cmd, len);
|
||||
|
||||
if (strlen(filename) > 0) {
|
||||
if ((pf = fopen(filename,"rb+")) == NULL) {
|
||||
PrintAndLog("Error: Could not open file [%s]",filename);
|
||||
f = fopen(filename,"rb+");
|
||||
if( !f ) {
|
||||
PrintAndLog("Error: Could not open file [%s]", filename);
|
||||
return 1;
|
||||
}
|
||||
file_given = true;
|
||||
if (fread(c.d.asBytes,8*60,1,pf) == 0) {
|
||||
PrintAndLog("Error: File reading error");
|
||||
fclose(pf);
|
||||
size_t bytes_read = fread(c.d.asBytes, 8*60, 1, f);
|
||||
if ( bytes_read == 0) {
|
||||
PrintAndLog("Error: File reading error");
|
||||
fclose(f);
|
||||
return 1;
|
||||
}
|
||||
fclose(pf);
|
||||
fclose(f);
|
||||
} else {
|
||||
file_given = false;
|
||||
}
|
||||
|
||||
//file with all the challenges to try
|
||||
c.arg[0] = (uint32_t)file_given;
|
||||
|
||||
SendCommand(&c);
|
||||
return 0;
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
int CmdLFHitagWP(const char *Cmd) {
|
||||
UsbCommand c = { CMD_WR_HITAG_S };
|
||||
hitag_data* htd = (hitag_data*)c.d.asBytes;
|
||||
|
@ -367,17 +365,15 @@ int CmdLFHitagWP(const char *Cmd) {
|
|||
// Copy the hitag function into the first argument
|
||||
c.arg[0] = htf;
|
||||
|
||||
// Send the command to the proxmark
|
||||
SendCommand(&c);
|
||||
|
||||
UsbCommand resp;
|
||||
WaitForResponse(CMD_ACK,&resp);
|
||||
|
||||
// Check the return status, stored in the first argument
|
||||
if (resp.arg[0] == false) return 1;
|
||||
return 0;
|
||||
}
|
||||
clearCommandBuffer();
|
||||
SendCommand(&c);
|
||||
UsbCommand resp;
|
||||
WaitForResponse(CMD_ACK,&resp);
|
||||
|
||||
// Check the return status, stored in the first argument
|
||||
if (resp.arg[0] == false) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static command_t CommandTable[] =
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue