mirror of
https://github.com/Proxmark/proxmark3.git
synced 2024-11-11 01:35:51 +08:00
More coverity fixes
This commit is contained in:
parent
0ce5620254
commit
ca4714cd23
6 changed files with 20 additions and 7 deletions
|
@ -1730,9 +1730,11 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u
|
||||||
//memcpy(uid_resp, uid_resp + 1, 3);
|
//memcpy(uid_resp, uid_resp + 1, 3);
|
||||||
// But memcpy should not be used for overlapping arrays,
|
// But memcpy should not be used for overlapping arrays,
|
||||||
// and memmove appears to not be available in the arm build.
|
// and memmove appears to not be available in the arm build.
|
||||||
// So this has been replaced with a for-loop:
|
// Therefore:
|
||||||
for(int xx = 0; xx < 3; xx++) uid_resp[xx] = uid_resp[xx+1];
|
uid_resp[0] = uid_resp[1];
|
||||||
|
uid_resp[1] = uid_resp[2];
|
||||||
|
uid_resp[2] = uid_resp[3];
|
||||||
|
|
||||||
uid_resp_len = 3;
|
uid_resp_len = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1939,7 +1941,7 @@ void ReaderMifare(bool first_try)
|
||||||
//byte_t par_mask = 0xff;
|
//byte_t par_mask = 0xff;
|
||||||
static byte_t par_low = 0;
|
static byte_t par_low = 0;
|
||||||
bool led_on = TRUE;
|
bool led_on = TRUE;
|
||||||
uint8_t uid[10];
|
uint8_t uid[10] ={0};
|
||||||
uint32_t cuid;
|
uint32_t cuid;
|
||||||
|
|
||||||
uint32_t nt =0 ;
|
uint32_t nt =0 ;
|
||||||
|
|
|
@ -667,12 +667,15 @@ int CmdHF14AMfRestore(const char *Cmd)
|
||||||
}
|
}
|
||||||
if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) {
|
if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) {
|
||||||
PrintAndLog("Could not find file dumpkeys.bin");
|
PrintAndLog("Could not find file dumpkeys.bin");
|
||||||
|
fclose(fdump);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
|
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
|
||||||
if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) {
|
if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) {
|
||||||
PrintAndLog("File reading error (dumpkeys.bin).");
|
PrintAndLog("File reading error (dumpkeys.bin).");
|
||||||
|
fclose(fdump);
|
||||||
|
fclose(fkeys);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -680,9 +683,12 @@ int CmdHF14AMfRestore(const char *Cmd)
|
||||||
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
|
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
|
||||||
if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) {
|
if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) {
|
||||||
PrintAndLog("File reading error (dumpkeys.bin).");
|
PrintAndLog("File reading error (dumpkeys.bin).");
|
||||||
|
fclose(fdump);
|
||||||
|
fclose(fkeys);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
fclose(fkeys);
|
||||||
|
|
||||||
PrintAndLog("Restoring dumpdata.bin to card");
|
PrintAndLog("Restoring dumpdata.bin to card");
|
||||||
|
|
||||||
|
@ -693,6 +699,7 @@ int CmdHF14AMfRestore(const char *Cmd)
|
||||||
|
|
||||||
if (fread(bldata, 1, 16, fdump) == 0) {
|
if (fread(bldata, 1, 16, fdump) == 0) {
|
||||||
PrintAndLog("File reading error (dumpdata.bin).");
|
PrintAndLog("File reading error (dumpdata.bin).");
|
||||||
|
fclose(fdump);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -727,7 +734,6 @@ int CmdHF14AMfRestore(const char *Cmd)
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(fdump);
|
fclose(fdump);
|
||||||
fclose(fkeys);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -192,6 +192,7 @@ void printarr_human_readable(char * title, uint8_t* arr, int len)
|
||||||
cx += snprintf(output+cx,outsize-cx, "%02x ",*(arr+i));
|
cx += snprintf(output+cx,outsize-cx, "%02x ",*(arr+i));
|
||||||
}
|
}
|
||||||
prnlog(output);
|
prnlog(output);
|
||||||
|
free(output);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------
|
//-----------------------------
|
||||||
|
|
|
@ -35,6 +35,7 @@ int saveFile(const char *preferredName, const char *suffix, const void* data, si
|
||||||
FILE *fileHandle=fopen(fileName,"wb");
|
FILE *fileHandle=fopen(fileName,"wb");
|
||||||
if(!fileHandle) {
|
if(!fileHandle) {
|
||||||
prnlog("Failed to write to file '%s'", fileName);
|
prnlog("Failed to write to file '%s'", fileName);
|
||||||
|
free(fileName);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
fwrite(data, 1, datalen, fileHandle);
|
fwrite(data, 1, datalen, fileHandle);
|
||||||
|
|
|
@ -350,13 +350,15 @@ int loadTraceCard(uint8_t *tuid) {
|
||||||
while(!feof(f)){
|
while(!feof(f)){
|
||||||
memset(buf, 0, sizeof(buf));
|
memset(buf, 0, sizeof(buf));
|
||||||
if (fgets(buf, sizeof(buf), f) == NULL) {
|
if (fgets(buf, sizeof(buf), f) == NULL) {
|
||||||
PrintAndLog("File reading error.");
|
PrintAndLog("File reading error.");
|
||||||
|
fclose(f);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(buf) < 32){
|
if (strlen(buf) < 32){
|
||||||
if (feof(f)) break;
|
if (feof(f)) break;
|
||||||
PrintAndLog("File content error. Block data must include 32 HEX symbols");
|
PrintAndLog("File content error. Block data must include 32 HEX symbols");
|
||||||
|
fclose(f);
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
for (i = 0; i < 32; i += 2)
|
for (i = 0; i < 32; i += 2)
|
||||||
|
|
|
@ -73,6 +73,7 @@ serial_port uart_open(const char* pcPortName)
|
||||||
// Does the system allows us to place a lock on this file descriptor
|
// Does the system allows us to place a lock on this file descriptor
|
||||||
if (fcntl(sp->fd, F_SETLK, &fl) == -1) {
|
if (fcntl(sp->fd, F_SETLK, &fl) == -1) {
|
||||||
// A conflicting lock is held by another process
|
// A conflicting lock is held by another process
|
||||||
|
free(sp);
|
||||||
return CLAIMED_SERIAL_PORT;
|
return CLAIMED_SERIAL_PORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue