diff --git a/client/src/cipurse/cipursecore.c b/client/src/cipurse/cipursecore.c index d1b514ee7..855e1e56d 100644 --- a/client/src/cipurse/cipursecore.c +++ b/client/src/cipurse/cipursecore.c @@ -455,7 +455,6 @@ const char *CIPURSEGetSMR(uint8_t smr) { default: return "unknown"; } - return "unknown"; } void CIPURSEPrintSMR(uint8_t *smrrec) { diff --git a/client/src/cmdhfcipurse.c b/client/src/cmdhfcipurse.c index 1e4a89c31..44475bf55 100644 --- a/client/src/cmdhfcipurse.c +++ b/client/src/cmdhfcipurse.c @@ -210,7 +210,9 @@ static int CLIParseCommandParametersEx(CLIParserContext *ctx, size_t keyid, size *useaid = false; if (aidid && aid && aidlen) { hdatalen = sizeof(hdata); - CLIGetHexWithReturn(ctx, aidid, hdata, &hdatalen); + if (CLIParamHexToBuf(arg_get_str(ctx, aidid), hdata, hdatalen, &hdatalen)) + return PM3_ESOFT; + if (hdatalen && (hdatalen < 1 || hdatalen > 16)) { PrintAndLogEx(ERR, _RED_("ERROR:") " application id length must be 1-16 bytes only"); return PM3_EINVARG; @@ -232,7 +234,9 @@ static int CLIParseCommandParametersEx(CLIParserContext *ctx, size_t keyid, size *usefid = false; if (fidid && fid) { hdatalen = sizeof(hdata); - CLIGetHexWithReturn(ctx, fidid, hdata, &hdatalen); + if (CLIParamHexToBuf(arg_get_str(ctx, fidid), hdata, hdatalen, &hdatalen)) + return PM3_ESOFT; + if (hdatalen && hdatalen != 2) { PrintAndLogEx(ERR, _RED_("ERROR:") " file id length must be 2 bytes only"); return PM3_EINVARG; @@ -250,7 +254,8 @@ static int CLIParseCommandParametersEx(CLIParserContext *ctx, size_t keyid, size *usechfid = false; if (chfidid && chfid) { hdatalen = sizeof(hdata); - CLIGetHexWithReturn(ctx, chfidid, hdata, &hdatalen); + if (CLIParamHexToBuf(arg_get_str(ctx, chfidid), hdata, hdatalen, &hdatalen)) + return PM3_ESOFT; if (hdatalen && hdatalen != 2) { PrintAndLogEx(ERR, _RED_("ERROR:") " child file id length must be 2 bytes only"); return PM3_EINVARG; @@ -961,7 +966,7 @@ static int CmdHFCipurseWriteFileAttr(const char *Cmd) { SetAPDULogging(APDULogging); if (verbose) { - PrintAndLogEx(INFO, "attribtes data[%zu]: %s", hdatalen, sprint_hex(hdata, hdatalen)); + PrintAndLogEx(INFO, "attribtes data[%d]: %s", hdatalen, sprint_hex(hdata, hdatalen)); CIPURSEPrintFileUpdateAttr(hdata, hdatalen); }