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 <[email protected]>
Discussion: 
https://www.postgresql.org/message-id/flat/c4701776-8d99-41da-938d-88528a3adc15%40eisentraut.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/386ca3908de28dd882a62b8f97a329db07b23138

Modified Files
--------------
configure                  |  2 +-
configure.ac               |  2 ++
meson.build                |  2 ++
src/include/pg_config.h.in |  6 ++++++
src/port/explicit_bzero.c  | 18 +++++++++++++++++-
5 files changed, 28 insertions(+), 2 deletions(-)

Reply via email to