PrintAndLog("Unpacking...");
BitstreamOut bout = { got, bits_per_sample * n, 0};
int j =0;
- for (j = 0; j * bits_per_sample < n * 8 && j < sizeof(GraphBuffer); j++) {
+ for (j = 0; j * bits_per_sample < n * 8 && j < n; j++) {
uint8_t sample = getByte(bits_per_sample, &bout);
GraphBuffer[j] = ((int) sample )- 128;
}
uint8_t trgKeyType = 0;\r
uint8_t SectorsCnt = 0;\r
uint8_t key[6] = {0, 0, 0, 0, 0, 0};\r
- uint8_t keyBlock[13*6];\r
+ uint8_t keyBlock[14*6];\r
uint64_t key64 = 0;\r
bool transferToEml = false;\r
\r
\r
if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;\r
\r
- fnameptr += len;\r
+ fnameptr += len-4;\r
\r
sprintf(fnameptr, ".eml"); \r
\r
for (j = 0; j < 7; j++, fnameptr += 2)\r
sprintf(fnameptr, "%02X", buf[j]); \r
} else {\r
- fnameptr += len;\r
+ fnameptr += len-4;\r
}\r
\r
// add file extension\r
if (len > FILE_PATH_SIZE) len = FILE_PATH_SIZE;\r
\r
memcpy(filename, Cmd, len);\r
- fnameptr += len;\r
+ fnameptr += len-4;\r
\r
sprintf(fnameptr, ".eml"); \r
\r
memset(buf, 0, sizeof(buf));\r
\r
if (fgets(buf, sizeof(buf), f) == NULL) {\r
+ fclose(f);\r
PrintAndLog("File reading error.");\r
return 2;\r
}\r
if(strlen(buf) && feof(f))\r
break;\r
PrintAndLog("File content error. Block data must include 32 HEX symbols");\r
+ fclose(f);\r
return 2;\r
}\r
for (i = 0; i < 32; i += 2)\r
sprintf(fnameptr,"%02X%02X%02X%02X%02X%02X%02X.bin",
data[0],data[1], data[2], data[4],data[5],data[6], data[7]);
} else {
- sprintf(fnameptr + fileNlen," .bin");
+ sprintf(fnameptr + fileNlen,".bin");
}
if ((fout = fopen(filename,"wb")) == NULL) {
{
while ((ep = readdir (dp)) != NULL)
{
- if(ep->d_name != NULL && str_ends_with(ep->d_name, ".lua"))
+ if(str_ends_with(ep->d_name, ".lua"))
PrintAndLog("%-16s %s", ep->d_name, "A script file");
}
(void) closedir (dp);
FillFileNameByUID(traceFileName, tuid, ".eml", 7);\r
\r
f = fopen(traceFileName, "r");\r
- if (!f) {\r
- fclose(f);\r
- return 1;\r
- }\r
+ if (!f) return 1;\r
\r
blockNum = 0;\r
\r
if ((!strlen(traceFileName)) || (isTraceCardEmpty())) return 0;\r
\r
f = fopen(traceFileName, "w+");\r
- if ( !f ) {\r
- fclose(f);\r
- return 1;\r
- }\r
+ if ( !f ) return 1;\r
\r
for (int i = 0; i < 64; i++) { // blocks\r
for (int j = 0; j < 16; j++) // bytes\r
lua_pushstring( L, buf ); // push the new one
lua_setfield( L, -2, "path" ); // set the field "path" in table at -2 with value at top of stack
lua_pop( L, 1 ); // get rid of package table from top of stack
+ free(buf);
return 0; // all done!
}
char *sprint_bin_break(const uint8_t *data, const size_t len, const uint8_t breaks) {
- int maxLen = ( len > 1024) ? 1024 : len;
+ int maxLen = ( len > 1020) ? 1020 : len;
static char buf[1024];
memset(buf, 0x00, 1024);
char *tmp = buf;