From: Howard Chu Date: Mon, 11 Aug 2014 20:48:29 +0000 (-0700) Subject: ITS#7906 more cleanup X-Git-Tag: OPENLDAP_REL_ENG_2_4_40~52 X-Git-Url: https://git.sur5r.net/?p=openldap;a=commitdiff_plain;h=9a992a92452bd6e8281a8e3449e7ef5476a4a3f7 ITS#7906 more cleanup db_open/close were not symmetric with init/destroy --- diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c index 81371c6891..80cf0c8330 100644 --- a/servers/slapd/overlays/ppolicy.c +++ b/servers/slapd/overlays/ppolicy.c @@ -2301,6 +2301,8 @@ ppolicy_db_init( pwcons++; } + ov_count++; + return 0; } @@ -2310,7 +2312,6 @@ ppolicy_db_open( ConfigReply *cr ) { - ov_count++; return overlay_register_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST ); } @@ -2320,16 +2321,10 @@ ppolicy_db_close( ConfigReply *cr ) { - slap_overinst *on = (slap_overinst *) be->bd_info; - pp_info *pi = on->on_bi.bi_private; - #ifdef SLAP_CONFIG_DELETE overlay_unregister_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST ); #endif /* SLAP_CONFIG_DELETE */ - free( pi->def_policy.bv_val ); - free( pi ); - return 0; } @@ -2339,6 +2334,13 @@ ppolicy_db_destroy( ConfigReply *cr ) { + slap_overinst *on = (slap_overinst *) be->bd_info; + pp_info *pi = on->on_bi.bi_private; + + on->on_bi.bi_private = NULL; + free( pi->def_policy.bv_val ); + free( pi ); + ov_count--; if ( ov_count <=0 && pwcons ) { pw_conn *pwc = pwcons;