diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index b9915533bd..3a81790dcf 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -544,6 +544,9 @@ ldap_int_destroy_global_options(void) gopts->ldo_def_sasl_authcid = NULL; } #endif +#ifdef HAVE_TLS + ldap_int_tls_destroy( gopts ); +#endif } /* diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c index 4bfc346c70..dff845bc10 100644 --- a/libraries/libldap/tls2.c +++ b/libraries/libldap/tls2.c @@ -160,14 +160,6 @@ ldap_pvt_tls_destroy( void ) tls_imp->ti_tls_destroy(); } -static void -ldap_exit_tls_destroy( void ) -{ - struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT(); - - ldap_int_tls_destroy( lo ); -} - /* * Initialize a particular TLS implementation. * Called once per implementation. @@ -176,7 +168,6 @@ static int tls_init(tls_impl *impl, int do_threads ) { static int tls_initialized = 0; - int rc; if ( !tls_initialized++ ) { #ifdef LDAP_R_COMPILE @@ -192,10 +183,7 @@ tls_init(tls_impl *impl, int do_threads ) #endif } - rc = impl->ti_tls_init(); - - atexit( ldap_exit_tls_destroy ); - return rc; + return impl->ti_tls_init(); } /*