diff options
author | Matt Caswell <matt@openssl.org> | 2016-09-05 14:12:58 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2016-09-08 12:43:04 +0100 |
commit | ea42bd40595faefb19e2ec8d7a9efad4f75cff80 (patch) | |
tree | ce8ae6da767bf017e685132438a2428c56a9231f /crypto/bio | |
parent | baee63371d568a2439cd1dddf584bcdf19b7cbbc (diff) |
Fix mem leaks during auto-deinit
Certain functions are automatically called during auto-deinit in order
to deallocate resources. However, if we have never entered a function which
marks lib crypto as inited then they never get called. This can happen if
the user only ever makes use of a small sub-set of functions that don't hit
the auto-init code.
This commit ensures all such resources deallocated by these functions also
init libcrypto when they are initially allocated.
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Ben Laurie <ben@openssl.org>
(cherry picked from commit 135648bcd0e9db029582d3d7627a90a1b566c5d6)
Diffstat (limited to 'crypto/bio')
-rw-r--r-- | crypto/bio/b_addr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/crypto/bio/b_addr.c b/crypto/bio/b_addr.c index f924e1029f..29f92cf7c7 100644 --- a/crypto/bio/b_addr.c +++ b/crypto/bio/b_addr.c @@ -604,6 +604,7 @@ static int addrinfo_wrap(int family, int socktype, DEFINE_RUN_ONCE_STATIC(do_bio_lookup_init) { + OPENSSL_init_crypto(0, NULL); bio_lookup_lock = CRYPTO_THREAD_lock_new(); return bio_lookup_lock != NULL; } |