summaryrefslogtreecommitdiffstats
path: root/crypto
diff options
context:
space:
mode:
authorMatt Hauck <matt.hauck@tanium.com>2016-07-13 11:27:40 -0700
committerRichard Levitte <levitte@openssl.org>2017-02-09 23:39:40 +0100
commit28903862fb0d6351dd88522950375ed44c10d1ba (patch)
tree880d15c8436366a25150e8793fb9bb46aef30325 /crypto
parent348681ff2b30453eb03ce2d83022ef069d86877d (diff)
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 <geoff@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> CLA: trivial (Merged from https://github.com/openssl/openssl/pull/1308)
Diffstat (limited to 'crypto')
-rw-r--r--crypto/mem.c4
1 files changed, 2 insertions, 2 deletions
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;