diff options
author | Anderson Toshiyuki Sasaki <ansasaki@redhat.com> | 2018-11-13 11:35:28 +0100 |
---|---|---|
committer | Andreas Schneider <asn@cryptomilk.org> | 2018-11-30 18:26:55 +0100 |
commit | 41b0d263d6e57276cc3e2a2457d8ae48e1f56301 (patch) | |
tree | 0ffdec63243332ca183cf3f597597f4fbb03ac81 | |
parent | a08a97f9c7800fa64375797c5415a77a7b1cd0e8 (diff) | |
download | libssh-41b0d263d6e57276cc3e2a2457d8ae48e1f56301.tar.gz libssh-41b0d263d6e57276cc3e2a2457d8ae48e1f56301.tar.xz libssh-41b0d263d6e57276cc3e2a2457d8ae48e1f56301.zip |
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>
-rw-r--r-- | src/threads/libcrypto.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/threads/libcrypto.c b/src/threads/libcrypto.c index 156e5041..5786948b 100644 --- a/src/threads/libcrypto.c +++ b/src/threads/libcrypto.c @@ -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]); } |