libcrypto: Fix access violation in ssh_init()

This fixes an access violation when ssh_init() was called after
ssh_finalize() in Windows when using OpenSSL 1.0.2 and libssh statically
linked.

Fixes T120

Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
Reviewed-by: Andreas Schneider <asn@cryptomilk.org>
(cherry picked from commit 41b0d263d6)
This commit is contained in:
Anderson Toshiyuki Sasaki
2018-11-13 11:35:28 +01:00
committed by Andreas Schneider
parent 80d3e10b47
commit d5bc9a1ace

View File

@@ -116,6 +116,14 @@ void crypto_thread_finalize(void)
return;
}
#ifdef HAVE_OPENSSL_CRYPTO_THREADID_SET_CALLBACK
CRYPTO_THREADID_set_callback(NULL);
#else
CRYPTO_set_id_callback(NULL);
#endif
CRYPTO_set_locking_callback(NULL);
for (i = 0; i < n; ++i) {
user_callbacks->mutex_destroy(&libcrypto_mutexes[i]);
}