mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
ITS#7906 better fix
don't free pwcons unless we're actually destroying this DB
This commit is contained in:
parent
7f7a82c0f5
commit
08792a77fd
@ -2331,7 +2331,18 @@ ppolicy_close(
|
||||
overlay_unregister_control( be, LDAP_CONTROL_PASSWORDPOLICYREQUEST );
|
||||
#endif /* SLAP_CONFIG_DELETE */
|
||||
|
||||
/* Perhaps backover should provide bi_destroy hooks... */
|
||||
free( pi->def_policy.bv_val );
|
||||
free( pi );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int
|
||||
ppolicy_db_destroy(
|
||||
BackendDB *be,
|
||||
ConfigReply *cr
|
||||
)
|
||||
{
|
||||
ov_count--;
|
||||
if ( ov_count <=0 && pwcons ) {
|
||||
pw_conn *pwc = pwcons;
|
||||
@ -2339,10 +2350,6 @@ ppolicy_close(
|
||||
pwc--;
|
||||
ch_free( pwc );
|
||||
}
|
||||
free( pi->def_policy.bv_val );
|
||||
free( pi );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static char *extops[] = {
|
||||
@ -2384,6 +2391,7 @@ int ppolicy_initialize()
|
||||
ppolicy.on_bi.bi_db_init = ppolicy_db_init;
|
||||
ppolicy.on_bi.bi_db_open = ppolicy_db_open;
|
||||
ppolicy.on_bi.bi_db_close = ppolicy_close;
|
||||
ppolicy.on_bi.bi_db_destroy = ppolicy_db_destroy;
|
||||
|
||||
ppolicy.on_bi.bi_op_add = ppolicy_add;
|
||||
ppolicy.on_bi.bi_op_bind = ppolicy_bind;
|
||||
|
Loading…
Reference in New Issue
Block a user