Index: configure.ac =================================================================== --- configure.ac +++ configure.ac @@ -1807,7 +1807,7 @@ AC_CHECK_FUNCS(strerror rand mmap getpagesize sysconf waitpid wait4) AC_CHECK_FUNCS(gettimeofday getrusage gethrtime clock_gettime syslog) AC_CHECK_FUNCS(syscall fcntl ftruncate flockfile) -AC_CHECK_FUNCS(explicit_bzero getentropy) +AC_CHECK_FUNCS(explicit_bzero explicit_memset getentropy) GNUPG_CHECK_MLOCK Index: src/misc.c =================================================================== --- src/misc.c +++ src/misc.c @@ -516,6 +516,8 @@ */ #ifdef HAVE_EXPLICIT_BZERO explicit_bzero (ptr, len); +#elif defined(HAVE_EXPLICIT_MEMSET) + explicit_memset (ptr, 0, len); #else memset_ptr (ptr, 0, len); #endif @@ -525,6 +527,9 @@ void _gcry_fast_wipememory2 (void *ptr, int set, size_t len) { +#ifdef HAVE_EXPLICIT_MEMSET + explicit_memset (ptr, 0, len); +#else #ifdef HAVE_EXPLICIT_BZERO if (set == 0) { @@ -534,6 +539,7 @@ #endif memset_ptr (ptr, set, len); +#endif }