From 81fbfbfcc0ca6ee88ffa9b11d8007695ad61fb51 Mon Sep 17 00:00:00 2001 From: Cengizhan Pasaoglu Date: Tue, 8 Aug 2023 03:52:25 +0300 Subject: [PATCH] Remove unnecessary and extra zero length check in mem functions' macro (#2428) In macro bh_memcpy_s, bh_memcy_wa and bh_memmove_s, no need to do extra check for length is zero or not because it was already done inside of the functions called. --- core/shared/utils/bh_common.c | 4 ++++ core/shared/utils/bh_common.h | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/core/shared/utils/bh_common.c b/core/shared/utils/bh_common.c index aeeab26b..7fe123c9 100644 --- a/core/shared/utils/bh_common.c +++ b/core/shared/utils/bh_common.c @@ -31,6 +31,10 @@ b_memcpy_wa(void *s1, unsigned int s1max, const void *s2, unsigned int n) unsigned int *p; char *ps; + if (n == 0) { + return 0; + } + if (pa > src) { pa -= 4; } diff --git a/core/shared/utils/bh_common.h b/core/shared/utils/bh_common.h index edb962eb..adae722b 100644 --- a/core/shared/utils/bh_common.h +++ b/core/shared/utils/bh_common.h @@ -12,25 +12,25 @@ extern "C" { #endif -#define bh_memcpy_s(dest, dlen, src, slen) \ - do { \ - int _ret = slen == 0 ? 0 : b_memcpy_s(dest, dlen, src, slen); \ - (void)_ret; \ - bh_assert(_ret == 0); \ +#define bh_memcpy_s(dest, dlen, src, slen) \ + do { \ + int _ret = b_memcpy_s(dest, dlen, src, slen); \ + (void)_ret; \ + bh_assert(_ret == 0); \ } while (0) -#define bh_memcpy_wa(dest, dlen, src, slen) \ - do { \ - int _ret = slen == 0 ? 0 : b_memcpy_wa(dest, dlen, src, slen); \ - (void)_ret; \ - bh_assert(_ret == 0); \ +#define bh_memcpy_wa(dest, dlen, src, slen) \ + do { \ + int _ret = b_memcpy_wa(dest, dlen, src, slen); \ + (void)_ret; \ + bh_assert(_ret == 0); \ } while (0) -#define bh_memmove_s(dest, dlen, src, slen) \ - do { \ - int _ret = slen == 0 ? 0 : b_memmove_s(dest, dlen, src, slen); \ - (void)_ret; \ - bh_assert(_ret == 0); \ +#define bh_memmove_s(dest, dlen, src, slen) \ + do { \ + int _ret = b_memmove_s(dest, dlen, src, slen); \ + (void)_ret; \ + bh_assert(_ret == 0); \ } while (0) #define bh_strcat_s(dest, dlen, src) \