From 588db7cecf6cf8b351de0fecdfc7de70f54bf1b1 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Sat, 6 Apr 2019 18:15:42 -0700 Subject: Always use ZEND_SECURE_ZERO() when cleaning up data Optimizing compilers have an annoying tendency to throw out memsets over data that they think aren't used anymore. Apply secure zero-out in cases where this has potential to happen. --- ext/hash/hash_sha3.c | 2 +- ext/hash/hash_snefru.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'ext/hash') diff --git a/ext/hash/hash_sha3.c b/ext/hash/hash_sha3.c index 3866854e15..472cd9a2b1 100644 --- a/ext/hash/hash_sha3.c +++ b/ext/hash/hash_sha3.c @@ -191,7 +191,7 @@ static void PHP_SHA3_Final(unsigned char* digest, } // Zero out context - memset(ctx, 0, sizeof(PHP_SHA3_CTX)); + ZEND_SECURE_ZERO(ctx, sizeof(PHP_SHA3_CTX)); } // ========================================================================== diff --git a/ext/hash/hash_snefru.c b/ext/hash/hash_snefru.c index 931c31850c..c36d2791d4 100644 --- a/ext/hash/hash_snefru.c +++ b/ext/hash/hash_snefru.c @@ -129,7 +129,7 @@ static inline void SnefruTransform(PHP_SNEFRU_CTX *context, const unsigned char ((input[i+2] & 0xff) << 8) | (input[i+3] & 0xff); } Snefru(context->state); - memset(&context->state[8], 0, sizeof(uint32_t) * 8); + ZEND_SECURE_ZERO(&context->state[8], sizeof(uint32_t) * 8); } PHP_HASH_API void PHP_SNEFRUInit(PHP_SNEFRU_CTX *context) -- cgit v1.2.1