diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/init.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -71,17 +71,21 @@ int ssh_init(void) { @returns 0 otherwise */ int ssh_finalize(void) { - ssh_threads_finalize(); ssh_crypto_finalize(); ssh_socket_cleanup(); #ifdef HAVE_LIBGCRYPT gcry_control(GCRYCTL_TERM_SECMEM); #elif defined HAVE_LIBCRYPTO EVP_cleanup(); + CRYPTO_cleanup_all_ex_data(); #endif #ifdef _WIN32 WSACleanup(); #endif + /* It is important to finalize threading after CRYPTO because + * it still depends on it */ + ssh_threads_finalize(); + return 0; } |