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,8 +1730,10 @@ int iso14443a_select_card(byte_t* uid_ptr, iso14a_card_select_t* p_hi14a_card, u
//memcpy(uid_resp, uid_resp + 1, 3);
// But memcpy should not be used for overlapping arrays,
// and memmove appears to not be available in the arm build.
// So this has been replaced with a for-loop:
for(int xx = 0; xx < 3; xx++) uid_resp[xx] = uid_resp[xx+1];
// Therefore:
uid_resp[0] = uid_resp[1];
uid_resp[1] = uid_resp[2];
uid_resp[2] = uid_resp[3];
uid_resp_len = 3;
}
@ -1939,7 +1941,7 @@ void ReaderMifare(bool first_try)
//byte_t par_mask = 0xff;
static byte_t par_low = 0;
bool led_on = TRUE;
uint8_t uid[10];
uint8_t uid[10] ={0};
uint32_t cuid;
uint32_t nt =0 ;

View file

@ -667,12 +667,15 @@ int CmdHF14AMfRestore(const char *Cmd)
}
if ((fkeys = fopen("dumpkeys.bin","rb")) == NULL) {
PrintAndLog("Could not find file dumpkeys.bin");
fclose(fdump);
return 1;
}
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
if (fread(keyA[sectorNo], 1, 6, fkeys) == 0) {
PrintAndLog("File reading error (dumpkeys.bin).");
fclose(fdump);
fclose(fkeys);
return 2;
}
}
@ -680,9 +683,12 @@ int CmdHF14AMfRestore(const char *Cmd)
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {
if (fread(keyB[sectorNo], 1, 6, fkeys) == 0) {
PrintAndLog("File reading error (dumpkeys.bin).");
fclose(fdump);
fclose(fkeys);
return 2;
}
}
fclose(fkeys);
PrintAndLog("Restoring dumpdata.bin to card");
@ -693,6 +699,7 @@ int CmdHF14AMfRestore(const char *Cmd)
if (fread(bldata, 1, 16, fdump) == 0) {
PrintAndLog("File reading error (dumpdata.bin).");
fclose(fdump);
return 2;
}
@ -727,7 +734,6 @@ int CmdHF14AMfRestore(const char *Cmd)
}
fclose(fdump);
fclose(fkeys);
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));
}
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");
if(!fileHandle) {
prnlog("Failed to write to file '%s'", fileName);
free(fileName);
return 1;
}
fwrite(data, 1, datalen, fileHandle);

View file

@ -351,12 +351,14 @@ int loadTraceCard(uint8_t *tuid) {
memset(buf, 0, sizeof(buf));
if (fgets(buf, sizeof(buf), f) == NULL) {
PrintAndLog("File reading error.");
fclose(f);
return 2;
}
if (strlen(buf) < 32){
if (feof(f)) break;
PrintAndLog("File content error. Block data must include 32 HEX symbols");
fclose(f);
return 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
if (fcntl(sp->fd, F_SETLK, &fl) == -1) {
// A conflicting lock is held by another process
free(sp);
return CLAIMED_SERIAL_PORT;
}