From d1427e9fa808aae795997ccf8a1e2292bb41bc48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= Date: Wed, 4 Jun 2025 10:19:35 +0200 Subject: [PATCH] Add and use MALLOCX_ZERO_GET() macro to jemalloc_shim.h Pull MALLOCX_ZERO_GET() macro to align the usage with the jemalloc jemalloc/internal/jemalloc_internal_types.h header. --- lib/isc/jemalloc_shim.h | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/isc/jemalloc_shim.h b/lib/isc/jemalloc_shim.h index 55bab911d1..ef892f0318 100644 --- a/lib/isc/jemalloc_shim.h +++ b/lib/isc/jemalloc_shim.h @@ -24,7 +24,13 @@ const char *malloc_conf = NULL; -#define MALLOCX_ZERO ((int)0x40) +/* + * The MALLOCX_ZERO and MALLOCX_ZERO_GET macros were taken literal from + * jemalloc_macros.h and jemalloc_internal_types.h headers respectively. + */ + +#define MALLOCX_ZERO ((int)0x40) +#define MALLOCX_ZERO_GET(flags) ((bool)(flags & MALLOCX_ZERO)) typedef union { size_t size; @@ -42,7 +48,7 @@ mallocx(size_t size, int flags) { si->size = size; ptr = &si[1]; - if ((flags & MALLOCX_ZERO) != 0) { + if (MALLOCX_ZERO_GET(flags)) { memset(ptr, 0, size); } @@ -68,7 +74,7 @@ rallocx(void *ptr, size_t size, int flags) { size_info *si = realloc(&(((size_info *)ptr)[-1]), size + sizeof(*si)); INSIST(si != NULL); - if ((flags & MALLOCX_ZERO) != 0 && size > si->size) { + if (MALLOCX_ZERO_GET(flags) && size > si->size) { memset((uint8_t *)si + sizeof(*si) + si->size, 0, size - si->size); }