Check for memset_explicit() and explicit_memset()

Peter Eisentraut <peter@eisentraut.org>

Commit: 386ca3908de28dd882a62b8f97a329db07b23138
Author: Peter Eisentraut <peter@eisentraut.org>
Date: 2026-03-02T06:51:19Z
Check for memset_explicit() and explicit_memset()

We can use either of these to implement a missing explicit_bzero().

explicit_memset() is supported on NetBSD.  NetBSD hitherto didn't have
a way to implement explicit_bzero() other than the fallback variant.

memset_explicit() is the C23 standard, so we use it as first
preference.  It is currently supported on:

- NetBSD 11
- FreeBSD 15
- glibc 2.43

It doesn't provide additional coverage, but as it's the new standard,
its availability will presumably grow.

Reviewed-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/c4701776-8d99-41da-938d-88528a3adc15%40eisentraut.org

Files

PathChange+/−
configure modified +1 −1
configure.ac modified +2 −0
meson.build modified +2 −0
src/include/pg_config.h.in modified +6 −0
src/port/explicit_bzero.c modified +17 −1

Discussion