mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Implement GH-15483: Use C23 memset_explicit() for ZEND_SECURE_ZERO() if available (#18713)
This commit is contained in:
parent
761478a032
commit
8d116a4ba1
3 changed files with 7 additions and 2 deletions
|
@ -496,6 +496,8 @@ extern "C++" {
|
|||
|
||||
#ifdef ZEND_WIN32
|
||||
#define ZEND_SECURE_ZERO(var, size) RtlSecureZeroMemory((var), (size))
|
||||
#elif defined(HAVE_MEMSET_EXPLICIT)
|
||||
#define ZEND_SECURE_ZERO(var, size) memset_explicit((var), 0, (size))
|
||||
#else
|
||||
#define ZEND_SECURE_ZERO(var, size) explicit_bzero((var), (size))
|
||||
#endif
|
||||
|
|
|
@ -564,6 +564,7 @@ AC_CHECK_FUNCS(m4_normalize([
|
|||
memmem
|
||||
mempcpy
|
||||
memrchr
|
||||
memset_explicit
|
||||
mkstemp
|
||||
mmap
|
||||
nice
|
||||
|
|
|
@ -28,7 +28,9 @@
|
|||
|
||||
PHPAPI void php_explicit_bzero(void *dst, size_t siz)
|
||||
{
|
||||
#ifdef HAVE_EXPLICIT_MEMSET
|
||||
#ifdef HAVE_MEMSET_EXPLICIT /* C23 */
|
||||
memset_explicit(dst, 0, siz);
|
||||
#elif defined(HAVE_EXPLICIT_MEMSET) /* NetBSD-specific */
|
||||
explicit_memset(dst, 0, siz);
|
||||
#elif defined(PHP_WIN32)
|
||||
RtlSecureZeroMemory(dst, siz);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue