From: Howard Chu Date: Fri, 14 Feb 2020 22:32:03 +0000 (+0000) Subject: ITS#9121 fix prev commit X-Git-Tag: OPENLDAP_REL_ENG_2_5_0ALPHA~55^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=299fb490a27e7b0e5a60464e33f5ea04d00f0f7c;p=thirdparty%2Fopenldap.git ITS#9121 fix prev commit Only flush entry if dynlist_prepare_entry altered it --- diff --git a/servers/slapd/overlays/dynlist.c b/servers/slapd/overlays/dynlist.c index 613b568b51..104fba3e48 100644 --- a/servers/slapd/overlays/dynlist.c +++ b/servers/slapd/overlays/dynlist.c @@ -962,10 +962,12 @@ dynlist_search2resp( Operation *op, SlapReply *rs ) /* See if this is one of our dynamic entries */ dyn = tavl_find( ds->ds_names, &rs->sr_entry->e_nname, dynlist_avl_cmp ); if ( dyn ) { + Entry *e = rs->sr_entry; dyn->dy_seen = 1; rc = dynlist_prepare_entry( op, rs, dyn->dy_dli ); if ( ds->ds_origfilter && test_filter( op, rs->sr_entry, ds->ds_origfilter ) != LDAP_COMPARE_TRUE ) { - rs_flush_entry( op, rs, NULL ); + if ( e != rs->sr_entry ) + rs_flush_entry( op, rs, NULL ); rc = LDAP_SUCCESS; } return rc;