From a54b4bda1dd151ae507e2d0d4d3eaf14ebcac1b6 Mon Sep 17 00:00:00 2001 From: TamtamHero <10632523+TamtamHero@users.noreply.github.com> Date: Fri, 7 May 2021 16:06:30 +0200 Subject: [PATCH] Fix alignment access issue on nano S --- src/utils.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/utils.c b/src/utils.c index e952942..702c5e9 100644 --- a/src/utils.c +++ b/src/utils.c @@ -74,12 +74,13 @@ uint32_t u32_from_BE(uint8_t *in, uint8_t size, bool strict) { bool uint256_to_decimal(const uint8_t *value, char *out, size_t out_len) { uint16_t n[16]; - uint16_t *p = (uint16_t *) value; + memcpy((uint8_t*)n, value, 32); + uint16_t *p = n; for (int i = 0; i < 16; i++) { n[i] = __builtin_bswap16(*p++); } int pos = out_len; - while (!allzeroes((uint8_t *)n, sizeof(n))) { + while (!allzeroes(n, sizeof(n))) { if (pos == 0) { return false; }