db_open/close were not symmetric with init/destroy
return overlay_register_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST );
}
return overlay_register_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST );
}
- 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 */
#ifdef SLAP_CONFIG_DELETE
overlay_unregister_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST );
#endif /* SLAP_CONFIG_DELETE */
- free( pi->def_policy.bv_val );
- free( pi );
-
+ 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;
ov_count--;
if ( ov_count <=0 && pwcons ) {
pw_conn *pwc = pwcons;