From: Pierangelo Masarati Date: Tue, 2 Apr 2002 12:27:06 +0000 (+0000) Subject: partial fulfilment of ITS#1710 X-Git-Tag: OPENLDAP_REL_ENG_2_MP~267 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=090ef02589a805fcc5834b8701aead7ea2b1e93a;p=openldap partial fulfilment of ITS#1710 --- diff --git a/servers/slapd/back-monitor/cache.c b/servers/slapd/back-monitor/cache.c index b00b55ed04..9fc8c941f8 100644 --- a/servers/slapd/back-monitor/cache.c +++ b/servers/slapd/back-monitor/cache.c @@ -257,6 +257,7 @@ monitor_cache_release( ldap_pvt_thread_mutex_unlock( &mi->mi_cache_mutex ); ch_free( mc ); + ldap_pvt_thread_mutex_unlock( &mp->mp_mutex ); ldap_pvt_thread_mutex_destroy( &mp->mp_mutex ); ch_free( mp ); e->e_private = NULL; diff --git a/servers/slapd/back-monitor/conn.c b/servers/slapd/back-monitor/conn.c index 4d91d69384..9ea0a66be8 100644 --- a/servers/slapd/back-monitor/conn.c +++ b/servers/slapd/back-monitor/conn.c @@ -369,6 +369,16 @@ monitor_subsys_conn_create( c = connection_next( c, &connindex )) { if ( conn_create( c, &e ) || e == NULL ) { connection_done(c); + for ( ; e_tmp != NULL; ) { + mp = ( struct monitorentrypriv * )e_tmp->e_private; + e = mp->mp_next; + + ch_free( mp ); + e_tmp->e_private = NULL; + entry_free( e_tmp ); + + e_tmp = e; + } return( -1 ); } mp = ( struct monitorentrypriv * )e->e_private;