From: Pierangelo Masarati Date: Thu, 3 Nov 2005 15:17:48 +0000 (+0000) Subject: don't leak hostname X-Git-Tag: OPENLDAP_REL_ENG_2_2_MP~119 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=561cd3d845937daa27df1a461b4dd264cb20bad9;p=openldap don't leak hostname --- diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index 613bd93c57..cb0fc14e9a 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -409,6 +409,11 @@ ldap_int_destroy_global_options(void) #if defined(HAVE_WINSOCK) || defined(HAVE_WINSOCK2) WSACleanup( ); #endif + + if ( ldap_int_hostname ) { + LDAP_FREE( ldap_int_hostname ); + ldap_int_hostname = NULL; + } } /* @@ -529,7 +534,15 @@ void ldap_int_initialize( struct ldapoptions *gopts, int *dbglvl ) #if defined(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND) \ || defined(HAVE_TLS) || defined(HAVE_CYRUS_SASL) - ldap_int_hostname = ldap_pvt_get_fqdn( ldap_int_hostname ); + { + char *name = ldap_int_hostname; + + ldap_int_hostname = ldap_pvt_get_fqdn( name ); + + if ( name != NULL && name != ldap_int_hostname ) { + LDAP_FREE( name ); + } + } #endif #ifndef HAVE_POLL