From 9e54fb88f8fa98c64790ee947ed30668623a79d4 Mon Sep 17 00:00:00 2001 From: joevt Date: Mon, 4 Dec 2023 03:47:46 -0800 Subject: [PATCH] memaccess: Fix unaligned 8 byte read. --- memaccess.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/memaccess.h b/memaccess.h index 46bc60c..e787fae 100644 --- a/memaccess.h +++ b/memaccess.h @@ -59,7 +59,7 @@ along with this program. If not, see . #define READ_QWORD_BE_U(addr) \ ((uint64_t((addr)[0]) << 56) | (uint64_t((addr)[1]) << 48) | \ (uint64_t((addr)[2]) << 40) | (uint64_t((addr)[3]) << 32) | \ - ((addr)[4] << 24) | ((addr)[5] << 16) | ((addr)[6] << 8) | (addr)[7]) + (uint64_t((addr)[4]) << 24) | ((addr)[5] << 16) | ((addr)[6] << 8) | (addr)[7]) /* read an unaligned little-endian WORD (16bit) */ #define READ_WORD_LE_U(addr) (((addr)[1] << 8) | (addr)[0]) @@ -72,7 +72,7 @@ along with this program. If not, see . #define READ_QWORD_LE_U(addr) \ ((uint64_t((addr)[7]) << 56) | (uint64_t((addr)[6]) << 48) | \ (uint64_t((addr)[5]) << 40) | (uint64_t((addr)[4]) << 32) | \ - ((addr)[3] << 24) | ((addr)[2] << 16) | ((addr)[1] << 8) | (addr)[0]) + (uint64_t((addr)[3]) << 24) | ((addr)[2] << 16) | ((addr)[1] << 8) | (addr)[0]) /* write an aligned big-endian WORD (16bit) */ #define WRITE_WORD_BE_A(addr, val) (*((uint16_t*)((addr))) = BYTESWAP_16(val))