From 561cd3d845937daa27df1a461b4dd264cb20bad9 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Thu, 3 Nov 2005 15:17:48 +0000 Subject: [PATCH] don't leak hostname --- libraries/libldap/init.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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 -- 2.39.5