+2020-04-13 Bastien Roucariès <rouca@debian.org>
+
+ explicit_bzero: On native Windows, use SecureZeroMemory().
+ * lib/explicit_bzero.c: Include <windows.h>.
+ (explicit_bzero): On native Windows, use SecureZeroMemory.
+
2020-04-13 Bastien Roucariès <rouca@debian.org>
explicit_bzero: Use memset_s() when available.
#include <string.h>
+#if defined _WIN32 && !defined __CYGWIN__
+# define WIN32_LEAN_AND_MEAN
+# include <windows.h>
+#endif
+
#if _LIBC
/* glibc-internal users use __explicit_bzero_chk, and explicit_bzero
redirects to that. */
void
explicit_bzero (void *s, size_t len)
{
-#ifdef HAVE_EXPLICIT_MEMSET
+#if defined _WIN32 && !defined __CYGWIN__
+ (void) SecureZeroMemory (s, len);
+#elif HAVE_EXPLICIT_MEMSET
explicit_memset (s, 0, len);
#elif HAVE_MEMSET_S
(void) memset_s (s, len, '\0', len);