From 28903862fb0d6351dd88522950375ed44c10d1ba Mon Sep 17 00:00:00 2001 From: Matt Hauck Date: Wed, 13 Jul 2016 11:27:40 -0700 Subject: Fix statically linked engine initialization w/ fips This only manifested itself with FIPS enabled statically linked engines. The OPENSSL_init call ended up invoking RAND_init_fips for a FIPS enabled build, which called CRYPTO_malloc, resulting in disallowing the engine to finish its IMPLEMENT_DYNAMIC_BIND_FN call. (Merged from https://github.com/openssl/openssl/pull/1308)Reviewed-by: Geoff Thorpe Reviewed-by: Richard Levitte CLA: trivial (Merged from https://github.com/openssl/openssl/pull/1308) --- crypto/mem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'crypto') diff --git a/crypto/mem.c b/crypto/mem.c index 06c3960cc6..dd4c9ce9e0 100644 --- a/crypto/mem.c +++ b/crypto/mem.c @@ -150,12 +150,12 @@ static long (*get_debug_options_func) (void) = NULL; int CRYPTO_set_mem_functions(void *(*m) (size_t), void *(*r) (void *, size_t), void (*f) (void *)) { - /* Dummy call just to ensure OPENSSL_init() gets linked in */ - OPENSSL_init(); if (!allow_customize) return 0; if ((m == 0) || (r == 0) || (f == 0)) return 0; + /* Dummy call just to ensure OPENSSL_init() gets linked in */ + OPENSSL_init(); malloc_func = m; malloc_ex_func = default_malloc_ex; realloc_func = r; -- cgit v1.2.3