[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/5] Use memset_s if possible for explicit_bzero
From: |
roucaries . bastien |
Subject: |
[PATCH 1/5] Use memset_s if possible for explicit_bzero |
Date: |
Sat, 11 Apr 2020 23:20:31 +0200 |
From: Bastien Roucariès <address@hidden>
Some OS define memset_s instead of explicit_bzero. Use it.
Signed-off-by: Bastien Roucariès <address@hidden>
---
lib/explicit_bzero.c | 7 +++++++
m4/explicit_bzero.m4 | 5 +++++
2 files changed, 12 insertions(+)
diff --git a/lib/explicit_bzero.c b/lib/explicit_bzero.c
index 51b79a891..862855421 100644
--- a/lib/explicit_bzero.c
+++ b/lib/explicit_bzero.c
@@ -25,6 +25,11 @@
# include <config.h>
#endif
+/* memset_s need this define */
+#if HAVE_MEMSET_S
+#define __STDC_WANT_LIB_EXT1__ 1
+#endif
+
#include <string.h>
#if _LIBC
@@ -40,6 +45,8 @@ explicit_bzero (void *s, size_t len)
{
#ifdef HAVE_EXPLICIT_MEMSET
explicit_memset (s, 0, len);
+#elif HAVE_MEMSET_S
+ (void) memset_s(s,len,'\0',len);
#else
memset (s, '\0', len);
# if defined __GNUC__ && !defined __clang__
diff --git a/m4/explicit_bzero.m4 b/m4/explicit_bzero.m4
index 507816aff..3ca5dc771 100644
--- a/m4/explicit_bzero.m4
+++ b/m4/explicit_bzero.m4
@@ -14,6 +14,11 @@ AC_DEFUN([gl_FUNC_EXPLICIT_BZERO],
if test $ac_cv_func_explicit_bzero = no; then
HAVE_EXPLICIT_BZERO=0
fi
+
+ AC_CHECK_FUNCS_ONCE([memset_s])
+ if test $ac_cv_func_memset_s = no; then
+ HAVE_MEMSET_S=0
+ fi
])
AC_DEFUN([gl_PREREQ_EXPLICIT_BZERO],
--
2.25.1