From: Ondřej Kuzník Date: Tue, 22 Jul 2014 08:19:04 +0000 (+0200) Subject: ITS#7894 Let back-config use backend to release entries X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=a773a0cc14be2d35c266fb6a470a70138f983035;p=openldap ITS#7894 Let back-config use backend to release entries --- diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index ded66131b4..1275e1d527 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -6581,10 +6581,22 @@ int config_entry_release( Entry *e, int rw ) { + int rc = LDAP_SUCCESS; + if ( !e->e_private ) { - entry_free( e ); + BackendDB *be = op->o_bd; + CfBackInfo *cfb = be->be_private; + BackendInfo *bi = cfb->cb_db.bd_info; + + if ( bi && bi->bi_entry_release_rw ) { + op->o_bd = &cfb->cb_db; + rc = bi->bi_entry_release_rw( op, e, rw ); + op->o_bd = be; + } else { + entry_free( e ); + } } - return LDAP_SUCCESS; + return rc; } /* return LDAP_SUCCESS IFF we can retrieve the specified entry.