diff --git a/app/src/swap/handle_check_address.c b/app/src/swap/handle_check_address.c index b861a33f..e2c02c3b 100644 --- a/app/src/swap/handle_check_address.c +++ b/app/src/swap/handle_check_address.c @@ -47,7 +47,10 @@ void handle_check_address(check_address_parameters_t* params) { const uint8_t *address = buffer + PK_LEN_25519; const uint8_t addressLen = replyLen - PK_LEN_25519; - if (addressLen == params->address_parameters_length && + // Exchange guarantees that the input string is '\0' terminated + uint8_t address_to_check_len = strlen(params->address_to_check); + + if (addressLen == address_to_check_len && memcmp(address, params->address_to_check, addressLen) == 0) { params->result = 1; }