diff --git a/core/embed/projects/prodtest/cmd/prodtest_otp_variant.c b/core/embed/projects/prodtest/cmd/prodtest_otp_variant.c
index 349349b363..f491bb7af7 100644
--- a/core/embed/projects/prodtest/cmd/prodtest_otp_variant.c
+++ b/core/embed/projects/prodtest/cmd/prodtest_otp_variant.c
@@ -17,6 +17,7 @@
* along with this program. If not, see .
*/
+#include
#include
#include
@@ -25,6 +26,7 @@
#include
#include "prodtest_optiga.h"
+#include "rtl/mini_printf.h"
static void prodtest_otp_variant_read(cli_t* cli) {
if (cli_arg_count(cli) > 0) {
@@ -52,6 +54,7 @@ static void prodtest_otp_variant_read(cli_t* cli) {
cli_trace(cli, "Bytes read: %s", block_hex);
char block_text[FLASH_OTP_BLOCK_SIZE * 4 + 1] = {0};
+ size_t buffer_size = sizeof(block_text);
// Make a list of integers separated by spaces
char* dst = block_text;
@@ -59,8 +62,9 @@ static void prodtest_otp_variant_read(cli_t* cli) {
if (i != 0) {
*dst++ = ' ';
}
- itoa(block[i], dst, 10);
+ mini_snprintf(dst, buffer_size, "%d", block[i]);
dst += strlen(dst);
+ buffer_size -= strlen(dst);
}
cli_ok(cli, "%s", block_text);