From 2cffefd355e52653de48695aef46295d839825d2 Mon Sep 17 00:00:00 2001 From: Tom Ivar Helbekkmo Date: Thu, 29 Oct 2026 18:59:57 +0100 Subject: [PATCH] NetBSD has explicit_memset(), not explicit_bzero() --- src/ipcrypt2.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/ipcrypt2.c b/src/ipcrypt2.c index a692eb7..c41a116 100644 --- a/src/ipcrypt2.c +++ b/src/ipcrypt2.c @@ -57,8 +57,8 @@ #endif #ifndef HAVE_EXPLICIT_BZERO -# if (defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || \ - defined(__DragonFly__)) || \ +# if (defined(__OpenBSD__) || defined(__FreeBSD__) || \ + defined(__DragonFly__)) || \ (defined(__sun) && defined(__illumos__)) # define HAVE_EXPLICIT_BZERO 1 # elif defined(__GLIBC__) && defined(__GLIBC_PREREQ) && defined(_GNU_SOURCE) @@ -68,6 +68,12 @@ # endif #endif +#ifndef HAVE_EXPLICIT_MEMSET +# if defined(__NetBSD__) +# define HAVE_EXPLICIT_MEMSET 1 +# endif +#endif + #ifdef __aarch64__ # ifndef __ARM_FEATURE_CRYPTO # define __ARM_FEATURE_CRYPTO 1 @@ -683,6 +689,8 @@ ipcrypt_zeroize(void *pnt, size_t len) { #ifdef HAVE_EXPLICIT_BZERO explicit_bzero(pnt, len); +#elif defined(HAVE_EXPLICIT_MEMSET) + explicit_memset(pnt, 0, len); #elif defined(_MSC_VER) SecureZeroMemory(pnt, len); #elif defined(__STDC_LIB_EXT1__)