From c9984fabb26606256cc128e70f10148f1afbcaef Mon Sep 17 00:00:00 2001 From: kopecdav Date: Tue, 29 Apr 2025 18:22:49 +0200 Subject: [PATCH] fix(core): fix backup ram prodtest argument parsing [no changelog] --- .../prodtest/cmd/prodtest_backup_ram.c | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/core/embed/projects/prodtest/cmd/prodtest_backup_ram.c b/core/embed/projects/prodtest/cmd/prodtest_backup_ram.c index 862cc2bc49..4154221907 100644 --- a/core/embed/projects/prodtest/cmd/prodtest_backup_ram.c +++ b/core/embed/projects/prodtest/cmd/prodtest_backup_ram.c @@ -23,21 +23,19 @@ #include static void prodtest_backup_ram_write(cli_t* cli) { + + if (cli_arg_count(cli) != 1) { + cli_error_arg_count(cli); + return; + } + uint32_t soc = 0; - if (cli_arg_count(cli) == 0) { - cli_error_arg_count(cli); - return; - } + cli_arg_uint32(cli, "soc_percent", &soc); - if (cli_has_arg(cli, "soc_percent") && - !cli_arg_uint32(cli, "soc_percent", &soc)) { - cli_error_arg(cli, "Expecting soc value to store to backup RAM."); - return; - } - - if (cli_arg_count(cli) > 1) { - cli_error_arg_count(cli); + if (!cli_arg_uint32(cli, "soc_percent", &soc) || + soc > 100) { + cli_error_arg(cli, "Expecting soc_percent argument in range 0-100"); return; }