From f54edd0d6a7ffa6947270ad15f2cf58edd0e2e97 Mon Sep 17 00:00:00 2001 From: cepetr Date: Wed, 2 Oct 2024 13:07:49 +0200 Subject: [PATCH] fix(core): ensure proper handling of vendor string [no changelog] --- core/embed/trezorhal/stm32f4/fwutils.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/embed/trezorhal/stm32f4/fwutils.c b/core/embed/trezorhal/stm32f4/fwutils.c index e0d4ad3694..a8b1500ff9 100644 --- a/core/embed/trezorhal/stm32f4/fwutils.c +++ b/core/embed/trezorhal/stm32f4/fwutils.c @@ -83,15 +83,17 @@ secbool firmware_get_vendor(char* buff, size_t buff_size) { vendor_header vhdr = {0}; + memset(buff, 0, buff_size); + if (data == NULL || sectrue != read_vendor_header(data, &vhdr)) { return secfalse; } - if (buff == NULL || buff_size < vhdr.vstr_len + 1) { + if (buff_size < vhdr.vstr_len + 1) { return secfalse; } - strncpy(buff, vhdr.vstr, buff_size); + memcpy(buff, vhdr.vstr, vhdr.vstr_len); return sectrue; }