mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-26 17:49:59 -05:00
fix memory leak (ITS#3862)
This commit is contained in:
parent
e790055467
commit
5cb994ad36
1 changed files with 10 additions and 4 deletions
|
|
@ -40,6 +40,8 @@ meta_back_conn_destroy(
|
|||
metainfo_t *mi = ( metainfo_t * )be->be_private;
|
||||
metaconn_t *mc,
|
||||
mc_curr = { 0 };
|
||||
int i;
|
||||
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
"=>meta_back_conn_destroy: fetching conn %ld\n",
|
||||
|
|
@ -63,8 +65,6 @@ retry_lock:;
|
|||
ldap_pvt_thread_mutex_unlock( &mi->mi_conn_mutex );
|
||||
|
||||
if ( mc ) {
|
||||
int i;
|
||||
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
"=>meta_back_conn_destroy: destroying conn %ld\n",
|
||||
mc->mc_conn->c_connid, 0, 0 );
|
||||
|
|
@ -75,15 +75,21 @@ retry_lock:;
|
|||
* Cleanup rewrite session
|
||||
*/
|
||||
for ( i = 0; i < mi->mi_ntargets; ++i ) {
|
||||
rewrite_session_delete( mi->mi_targets[ i ].mt_rwmap.rwm_rw, conn );
|
||||
|
||||
if ( mc->mc_conns[ i ].msc_ld != NULL ) {
|
||||
meta_clear_one_candidate( &mc->mc_conns[ i ] );
|
||||
}
|
||||
}
|
||||
|
||||
meta_back_conn_free( mc );
|
||||
}
|
||||
|
||||
/*
|
||||
* Cleanup rewrite session
|
||||
*/
|
||||
for ( i = 0; i < mi->mi_ntargets; ++i ) {
|
||||
rewrite_session_delete( mi->mi_targets[ i ].mt_rwmap.rwm_rw, conn );
|
||||
}
|
||||
|
||||
/* no response to unbind */
|
||||
|
||||
return 0;
|
||||
|
|
|
|||
Loading…
Reference in a new issue