coverity fixes

This commit is contained in:
iceman1001 2021-04-12 18:39:15 +02:00
commit 6da7fcd510
2 changed files with 46 additions and 10 deletions

View file

@ -3776,6 +3776,7 @@ int CmdHF14AMfELoad(const char *Cmd) {
}
case DICTIONARY: {
PrintAndLogEx(ERR, "Error: Only BIN/JSON/EML formats allowed");
free(data);
return PM3_EINVARG;
}
}
@ -4447,6 +4448,7 @@ static int CmdHF14AMfCLoad(const char *Cmd) {
}
case DICTIONARY: {
PrintAndLogEx(ERR, "Error: Only BIN/JSON/EML formats allowed");
free(data);
return PM3_EINVARG;
}
}
@ -4906,6 +4908,7 @@ static int CmdHf14AMfDecryptBytes(const char *Cmd) {
uint32_t nt = 0;
int res = arg_get_u32_hexstr_def(ctx, 1, 0, &nt);
if (res != 1) {
CLIParserFree(ctx);
PrintAndLogEx(WARNING, "check `nt` parameter");
return PM3_EINVARG;
}
@ -4913,6 +4916,7 @@ static int CmdHf14AMfDecryptBytes(const char *Cmd) {
uint32_t ar_enc = 0;
res = arg_get_u32_hexstr_def(ctx, 2, 0, &ar_enc);
if (res != 1) {
CLIParserFree(ctx);
PrintAndLogEx(WARNING, "check `ar` parameter");
return PM3_EINVARG;
}
@ -4920,6 +4924,7 @@ static int CmdHf14AMfDecryptBytes(const char *Cmd) {
uint32_t at_enc = 0;
res = arg_get_u32_hexstr_def(ctx, 3, 0, &at_enc);
if (res != 1) {
CLIParserFree(ctx);
PrintAndLogEx(WARNING, "check `at` parameter");
return PM3_EINVARG;
}
@ -5939,6 +5944,7 @@ static int CmdHF14AMfView(const char *Cmd) {
}
case DICTIONARY: {
PrintAndLogEx(ERR, "Error: Only BIN/JSON/EML formats allowed");
free(dump);
return PM3_EINVARG;
}
}

View file

@ -550,12 +550,19 @@ static int CmdLFHitagReader(const char *Cmd) {
uint8_t key[6];
int keylen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 8), key, sizeof(key), &keylen);
int res = CLIParamHexToBuf(arg_get_str(ctx, 8), key, sizeof(key), &keylen);
if (res != 0) {
CLIParserFree(ctx);
return PM3_EINVARG;
}
uint8_t nrar[8];
int nalen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 9), nrar, sizeof(nrar), &nalen);
res = CLIParamHexToBuf(arg_get_str(ctx, 9), nrar, sizeof(nrar), &nalen);
CLIParserFree(ctx);
if (res != 0) {
return PM3_EINVARG;
}
// sanity checks
if (keylen != 0 && keylen != 6) {
@ -719,17 +726,30 @@ static int CmdLFHitagWriter(const char *Cmd) {
uint8_t data[4];
int dlen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 6), data, sizeof(data), &dlen);
int res = CLIParamHexToBuf(arg_get_str(ctx, 6), data, sizeof(data), &dlen);
if (res != 0) {
CLIParserFree(ctx);
return PM3_EINVARG;
}
uint8_t key[6];
int keylen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 7), key, sizeof(key), &keylen);
res = CLIParamHexToBuf(arg_get_str(ctx, 7), key, sizeof(key), &keylen);
if (res != 0) {
CLIParserFree(ctx);
return PM3_EINVARG;
}
uint8_t nrar[8];
int nalen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 8), nrar, sizeof(nrar), &nalen);
res = CLIParamHexToBuf(arg_get_str(ctx, 8), nrar, sizeof(nrar), &nalen);
CLIParserFree(ctx);
if (res != 0) {
return PM3_EINVARG;
}
// sanity checks
if (dlen != sizeof(data)) {
PrintAndLogEx(WARNING, "Wrong DATA len expected 4, got %d", dlen);
@ -814,17 +834,27 @@ static int CmdLFHitag2Dump(const char *Cmd) {
CLIExecWithReturn(ctx, Cmd, argtable, false);
uint8_t filename[FILE_PATH_SIZE] = {0};
int fnlen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 1), filename, sizeof(filename), &fnlen);
int res = CLIParamHexToBuf(arg_get_str(ctx, 1), filename, sizeof(filename), &fnlen);
if (res != 0) {
CLIParserFree(ctx);
return PM3_EINVARG;
}
uint8_t key[6];
int keylen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 2), key, sizeof(key), &keylen);
res = CLIParamHexToBuf(arg_get_str(ctx, 2), key, sizeof(key), &keylen);
if (res != 0) {
CLIParserFree(ctx);
return PM3_EINVARG;
}
uint8_t nrar[8];
int nalen = 0;
CLIParamHexToBuf(arg_get_str(ctx, 3), nrar, sizeof(nrar), &nalen);
res = CLIParamHexToBuf(arg_get_str(ctx, 3), nrar, sizeof(nrar), &nalen);
CLIParserFree(ctx);
if (res != 0) {
return PM3_EINVARG;
}
PrintAndLogEx(WARNING, "to be implememted...");