diff --git a/src/ui/nbgl_display_transaction.c b/src/ui/nbgl_display_transaction.c index ddb15af..2db0a9a 100755 --- a/src/ui/nbgl_display_transaction.c +++ b/src/ui/nbgl_display_transaction.c @@ -41,7 +41,7 @@ #include "../transaction/utils.h" #include "tx_init.h" -#define MAX_PUBKEY_DISPLAY 3 +#define MAX_PUBKEY_DISPLAY 3 //must be smaller than UINT8_MAX #define AMOUNT_SIZE 50 // g_buffers[PARAMETERS_MAX_NUM * MAX_BUFFER_LEN]: total amount @@ -111,7 +111,8 @@ static bool handle_params(transaction_t *tx, } size_t curr = *nbPairs; - for (uint8_t i = 0; i < pubkey_num && i < MAX_PUBKEY_DISPLAY; i++) { + uint8_t max_display_num = (pubkey_num < MAX_PUBKEY_DISPLAY) ? (uint8_t)pubkey_num : MAX_PUBKEY_DISPLAY; + for (uint8_t i = 0; i < max_display_num; i++) { const char *label_pk; if (i == 0 && pubkey_num == 1) { label_pk = PEER_PUBKEY;