FIX: hf mf eload - now supports specifying 0,1,2,4 in card memory for the file to be loaded.

FIX: hf mf esave - now supports specifying  0,1,2,4 in card memory for the file to be saved.
ADD: data.h -  added FILE_PATH_SIZE constant
ADD: hf legic load - a command help and checks for FILE_PATH_SIZE
ADD: hf legis save - now checks for FILE_PATH_SIZE
ADD: lf hitag - now checks for FILE_PATH_SIZE
ADD: util.c - AddLogLine now checks for FILE_PATH_SIZE
ADD: data load / save  - now checks for FILE_PATH_SIZE
FIX: ui.c - added a case of closing a filehandle
FIX: hf mf cload / csave now checks for FILE_PATH_SIZE
FIX: armsrc/mifarecmd.c - adjusted the buffersize in MifareEMemget from 48 to USB_CMD_DATA_SIZE
This commit is contained in:
iceman1001
2014-11-16 11:22:06 +01:00
parent 961658bba9
commit 463ca973e7
12 changed files with 161 additions and 76 deletions

View File

@@ -218,7 +218,24 @@ int CmdLegicRFRead(const char *Cmd)
int CmdLegicLoad(const char *Cmd)
{
FILE *f = fopen(Cmd, "r");
char filename[FILE_PATH_SIZE] = {0x00};
int len = 0;
if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) {
PrintAndLog("It loads datasamples from the file `filename`");
PrintAndLog("Usage: hf legic load <file name>");
PrintAndLog(" sample: hf legic load filename");
return 0;
}
len = strlen(Cmd);
if (len > FILE_PATH_SIZE) {
PrintAndLog("Filepath too long (was %s bytes), max allowed is %s ", len, FILE_PATH_SIZE);
return 0;
}
memcpy(filename, Cmd, len);
FILE *f = fopen(filename, "r");
if(!f) {
PrintAndLog("couldn't open '%s'", Cmd);
return -1;
@@ -251,7 +268,7 @@ int CmdLegicSave(const char *Cmd)
int requested = 1024;
int offset = 0;
int delivered = 0;
char filename[1024];
char filename[FILE_PATH_SIZE];
uint8_t got[1024];
sscanf(Cmd, " %s %i %i", filename, &requested, &offset);
@@ -265,7 +282,6 @@ int CmdLegicSave(const char *Cmd)
int remainder = requested % 8;
requested = requested + 8 - remainder;
}
if (offset + requested > sizeof(got)) {
PrintAndLog("Tried to read past end of buffer, <bytes> + <offset> > 1024");
return 0;