From f1a85df2e70c6e5740e6f7cc3d8593928fa80471 Mon Sep 17 00:00:00 2001 From: Andrei Vlad LUTAS Date: Wed, 29 May 2024 09:05:56 +0300 Subject: [PATCH] Use const cast when fetching bytes from memory. --- inc/bdx86_core.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/inc/bdx86_core.h b/inc/bdx86_core.h index c420e1f..75271e4 100644 --- a/inc/bdx86_core.h +++ b/inc/bdx86_core.h @@ -373,10 +373,14 @@ typedef ND_UINT32 ND_REG_SIZE; // Sets the sign of the sz bytes long value x. #define ND_SET_SIGN(sz, x) ND_SIGN_EX(sz, x) -#define ND_FETCH_64(b) (((ND_UINT64)ND_FETCH_32((ND_UINT8 *)(b))) | (((ND_UINT64)ND_FETCH_32((ND_UINT8 *)(b) + 4) << 32))) -#define ND_FETCH_32(b) (((ND_UINT32)ND_FETCH_16((ND_UINT8 *)(b))) | (((ND_UINT32)ND_FETCH_16((ND_UINT8 *)(b) + 2) << 16))) -#define ND_FETCH_16(b) (((ND_UINT16)ND_FETCH_8 ((ND_UINT8 *)(b))) | (((ND_UINT16)ND_FETCH_8 ((ND_UINT8 *)(b) + 1) << 8))) -#define ND_FETCH_8(b) (*((ND_UINT8 *)(b))) + +#define ND_FETCH_64(b) (((ND_UINT64)ND_FETCH_32((const ND_UINT8 *)(b))) | \ + (((ND_UINT64)ND_FETCH_32((const ND_UINT8 *)(b) + 4) << 32))) +#define ND_FETCH_32(b) (((ND_UINT32)ND_FETCH_16((const ND_UINT8 *)(b))) | \ + (((ND_UINT32)ND_FETCH_16((const ND_UINT8 *)(b) + 2) << 16))) +#define ND_FETCH_16(b) (((ND_UINT16)ND_FETCH_8 ((const ND_UINT8 *)(b))) | \ + (((ND_UINT16)ND_FETCH_8 ((const ND_UINT8 *)(b) + 1) << 8))) +#define ND_FETCH_8(b) (*((const ND_UINT8 *)(b)))