From eac70244894c82eca14af29ed16af478cf3d20a9 Mon Sep 17 00:00:00 2001 From: Gianfranco Costamagna Date: Sun, 26 Sep 2021 23:53:00 +0200 Subject: Fix armhf (#1315) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix unaligned memory accesses with get_u_int64_t at armhf see: https://bugs.debian.org/993627 * Use get_u_int64_t to avoid unaligned memory access at armhf see: https://bugs.debian.org/993627 * Update src/include/ndpi_define.h.in Drop const type from get_u_int64_t, from lnslbrty Co-authored-by: Bernhard Übelacker Co-authored-by: Toni --- src/lib/protocols/quic.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) (limited to 'src/lib/protocols') diff --git a/src/lib/protocols/quic.c b/src/lib/protocols/quic.c index 5eb5e1a01..43fcd0759 100644 --- a/src/lib/protocols/quic.c +++ b/src/lib/protocols/quic.c @@ -196,14 +196,7 @@ int quic_len(const uint8_t *buf, uint64_t *value) *value = ntohl(*(uint32_t *)buf) & 0x3FFFFFFF; return 4; case 3: - { - u_int64_t n; - - /* Necessary as simple cast crashes on ARM */ - memcpy(&n, buf, sizeof(u_int64_t)); - - *value = ndpi_ntohll(n) & 0x3FFFFFFFFFFFFFFF; - } + *value = ndpi_ntohll(get_u_int64_t(buf, 0)) & 0x3FFFFFFFFFFFFFFF; return 8; default: /* No Possible */ return 0; -- cgit v1.2.3