coverity fixes

This commit is contained in:
iceman1001 2020-04-06 07:15:34 +02:00
commit 97f06ddcfb

View file

@ -1020,37 +1020,41 @@ static int CmdLegicDump(const char *Cmd) {
static int CmdLegicRestore(const char *Cmd) { static int CmdLegicRestore(const char *Cmd) {
char filename[FILE_PATH_SIZE] = {0x00}; char filename[FILE_PATH_SIZE] = {0x00};
size_t fileNlen = 0; bool errors = false, shall_obsfuscate = false, have_filename = false;
bool errors = false, shall_obsfuscate = false;
size_t numofbytes; size_t numofbytes;
uint8_t cmdp = 0; uint8_t cmdp = 0;
memset(filename, 0, sizeof(filename));
while (param_getchar(Cmd, cmdp) != 0x00 && !errors) { while (param_getchar(Cmd, cmdp) != 0x00 && !errors) {
switch (tolower(param_getchar(Cmd, cmdp))) { switch (tolower(param_getchar(Cmd, cmdp))) {
case 'h': case 'h': {
errors = true; errors = true;
break; break;
case 'f': }
fileNlen = param_getstr(Cmd, cmdp + 1, filename, FILE_PATH_SIZE); case 'f': {
if (!fileNlen) int len = param_getstr(Cmd, cmdp + 1, filename, FILE_PATH_SIZE);
if (!len)
errors = true; errors = true;
else
have_filename = true;
if (fileNlen > FILE_PATH_SIZE - 5)
fileNlen = FILE_PATH_SIZE - 5;
cmdp += 2; cmdp += 2;
break; break;
case 'x': }
case 'x': {
shall_obsfuscate = true; shall_obsfuscate = true;
cmdp++; cmdp++;
break; break;
default: }
default: {
PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp)); PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp));
errors = true; errors = true;
break; break;
} }
} }
}
if (have_filename == false)
errors = true;
//Validations //Validations
if (errors || cmdp == 0) return usage_legic_restore(); if (errors || cmdp == 0) return usage_legic_restore();
@ -1133,45 +1137,55 @@ static int CmdLegicRestore(const char *Cmd) {
static int CmdLegicELoad(const char *Cmd) { static int CmdLegicELoad(const char *Cmd) {
size_t numofbytes = 256; size_t numofbytes = 256;
int fileNameLen = 0;
char filename[FILE_PATH_SIZE] = {0x00}; char filename[FILE_PATH_SIZE] = {0x00};
bool errors = false, shall_obsfuscate = false; bool errors = false, shall_obsfuscate = false, have_filename = false;
uint8_t cmdp = 0; uint8_t cmdp = 0;
while (param_getchar(Cmd, cmdp) != 0x00 && !errors) { while (param_getchar(Cmd, cmdp) != 0x00 && !errors) {
switch (tolower(param_getchar(Cmd, cmdp))) { switch (tolower(param_getchar(Cmd, cmdp))) {
case 'h' : case 'h' : {
return usage_legic_eload(); return usage_legic_eload();
case 'f' : }
fileNameLen = param_getstr(Cmd, cmdp + 1, filename, FILE_PATH_SIZE); case 'f' : {
if (!fileNameLen) int len = param_getstr(Cmd, cmdp + 1, filename, FILE_PATH_SIZE);
if (!len)
errors = true; errors = true;
if (fileNameLen > FILE_PATH_SIZE - 5) else
fileNameLen = FILE_PATH_SIZE - 5; have_filename = true;
cmdp += 2; cmdp += 2;
break; break;
case 'x': }
case 'x': {
shall_obsfuscate = true; shall_obsfuscate = true;
cmdp++; cmdp++;
break; break;
case '0' : }
case '0' : {
numofbytes = 22; numofbytes = 22;
cmdp++; cmdp++;
break; break;
case '1' : }
case '1' : {
numofbytes = 256; numofbytes = 256;
cmdp++; cmdp++;
break; break;
case '2' : }
case '2' : {
numofbytes = 1024; numofbytes = 1024;
cmdp++; cmdp++;
break; break;
default : }
default : {
PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp)); PrintAndLogEx(WARNING, "Unknown parameter '%c'", param_getchar(Cmd, cmdp));
errors = true; errors = true;
break; break;
} }
} }
}
if (have_filename == false)
errors = true;
//Validations //Validations
if (errors || strlen(Cmd) == 0) return usage_legic_eload(); if (errors || strlen(Cmd) == 0) return usage_legic_eload();