The branch master has been updated via 41aede863b76202347c2d5e2c2666428084f9203 (commit) from ce3dcdc9fe11e4d262f00633a139b2ee1d2ff8a0 (commit)
- Log ----------------------------------------------------------------- commit 41aede863b76202347c2d5e2c2666428084f9203 Author: knekritz <knekr...@fb.com> Date: Tue Mar 6 13:21:49 2018 -0500 Avoid unconditional store in CRYPTO_malloc. Reviewed-by: Richard Levitte <levi...@openssl.org> Reviewed-by: Rich Salz <rs...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/5372) ----------------------------------------------------------------------- Summary of changes: crypto/mem.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/crypto/mem.c b/crypto/mem.c index b3f7a1f..3364467 100644 --- a/crypto/mem.c +++ b/crypto/mem.c @@ -201,7 +201,14 @@ void *CRYPTO_malloc(size_t num, const char *file, int line) return NULL; FAILTEST(); - allow_customize = 0; + if (allow_customize) { + /* + * Disallow customization after the first allocation. We only set this + * if necessary to avoid a store to the same cache line on every + * allocation. + */ + allow_customize = 0; + } #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { CRYPTO_mem_debug_malloc(NULL, num, 0, file, line); @@ -243,7 +250,6 @@ void *CRYPTO_realloc(void *str, size_t num, const char *file, int line) return NULL; } - allow_customize = 0; #ifndef OPENSSL_NO_CRYPTO_MDEBUG if (call_malloc_debug) { void *ret; _____ openssl-commits mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-commits