More coverity fixes

This commit is contained in:
Martin Holst Swende 2014-10-30 21:49:18 +01:00
parent 0ce5620254
commit ca4714cd23
6 changed files with 20 additions and 7 deletions

View file

@ -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 ;

View file

@ -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;
} }

View file

@ -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);
} }
//----------------------------- //-----------------------------

View file

@ -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);

View file

@ -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)

View file

@ -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;
} }