size_t bytes_read;\r
for (sectorNo=0; sectorNo<numSectors; sectorNo++) {\r
bytes_read = fread( keyA[sectorNo], 1, 6, fin );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error.");\r
fclose(fin);\r
- fin = NULL;\r
return 2;\r
}\r
}\r
// Read keys B from file\r
for (sectorNo=0; sectorNo<numSectors; sectorNo++) {\r
bytes_read = fread( keyB[sectorNo], 1, 6, fin );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error.");\r
fclose(fin);\r
- fin = NULL;\r
return 2;\r
}\r
}\r
\r
fclose(fin);\r
- fin = NULL;\r
\r
PrintAndLog("|-----------------------------------------|");\r
PrintAndLog("|------ Reading sector access bits...-----|");\r
size_t bytes_read;\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
bytes_read = fread( keyA[sectorNo], 1, 6, fkeys );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
fclose(fkeys);\r
- fkeys = NULL;\r
return 2;\r
}\r
}\r
\r
for (sectorNo = 0; sectorNo < numSectors; sectorNo++) {\r
bytes_read = fread( keyB[sectorNo], 1, 6, fkeys );\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 6) {\r
PrintAndLog("File reading error (dumpkeys.bin).");\r
fclose(fkeys);\r
- fkeys = NULL;\r
return 2;\r
}\r
}\r
UsbCommand c = {CMD_MIFARE_WRITEBL, {FirstBlockOfSector(sectorNo) + blockNo, keyType, 0}};\r
memcpy(c.d.asBytes, key, 6); \r
bytes_read = fread(bldata, 1, 16, fdump);\r
- if ( bytes_read == 0) {\r
+ if ( bytes_read != 16) {\r
PrintAndLog("File reading error (dumpdata.bin).");\r
fclose(fdump);\r
fdump = NULL; \r
}\r
\r
fclose(fdump);\r
- fdump = NULL; \r
return 0;\r
}\r
\r
switch (isOK) {\r
case -1 : PrintAndLog("Error: No response from Proxmark.\n"); break;\r
case -2 : PrintAndLog("Button pressed. Aborted.\n"); break;\r
- case -3 : PrintAndLog("Tag isn't vulnerable to Nested Attack (its random number generator is not predictable).\n"); break;\r
+ case -3 : PrintAndLog("Tag isn't vulnerable to Nested Attack (random number generator is not predictable).\n"); break;\r
case -4 : PrintAndLog("No valid key found"); break;\r
case -5 : \r
key64 = bytes_to_num(keyBlock, 6);\r
\r
if (res == 1) { // there is (more) data to be transferred\r
if (pckNum == 0) { // first packet, (re)allocate necessary buffer\r
- if (traceLen > bufsize) {\r
+ if (traceLen > bufsize || buf == NULL) {\r
uint8_t *p;\r
if (buf == NULL) // not yet allocated\r
p = malloc(traceLen);\r