From b58075ce1955ed753be1632b76d6f677faa853cc Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 3 Feb 2015 10:13:55 +0000 Subject: [PATCH] ITS#8039 more cleanup --- servers/slapd/overlays/syncprov.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 6db07854cd..3309e68fa1 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -771,6 +771,7 @@ again: static void free_resinfo( syncres *sr ) { syncres **st; + int freeit = 0; ldap_pvt_thread_mutex_lock( &sr->s_info->ri_mutex ); for (st = &sr->s_info->ri_list; *st; st = &(*st)->s_rilist) { if (*st == sr) { @@ -778,8 +779,10 @@ static void free_resinfo( syncres *sr ) break; } } + if ( !sr->s_info->ri_list ) + freeit = 1; ldap_pvt_thread_mutex_unlock( &sr->s_info->ri_mutex ); - if ( !sr->s_info->ri_list ) { + if ( freeit ) { ldap_pvt_thread_mutex_destroy( &sr->s_info->ri_mutex ); if ( sr->s_info->ri_e ) entry_free( sr->s_info->ri_e ); -- 2.39.5