From 36c5fe19919ecbd63d2b9b42a5ac97ebace559ff Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Mon, 30 May 2005 12:37:24 +0000 Subject: [PATCH] don't leave dangling pointers; pass entry when sending referrals --- servers/slapd/back-ldif/ldif.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index 1f3cdf60c8..a59fe576eb 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -332,11 +332,12 @@ static int r_enum_tree(enumCookie *ck, struct berval *path, ck->op->oq_search.rs_scope == LDAP_SCOPE_ONELEVEL ? LDAP_SCOPE_BASE : LDAP_SCOPE_SUBTREE ); + ck->rs->sr_entry = e; rc = send_search_reference( ck->op, ck->rs ); - ber_bvarray_free( ck->rs->sr_ref ); ber_bvarray_free( erefs ); ck->rs->sr_ref = NULL; + ck->rs->sr_entry = NULL; } else if ( test_filter( ck->op, e, ck->op->ors_filter ) == LDAP_COMPARE_TRUE ) { @@ -344,6 +345,7 @@ static int r_enum_tree(enumCookie *ck, struct berval *path, ck->rs->sr_attrs = ck->op->ors_attrs; ck->rs->sr_flags = REP_ENTRY_MODIFIABLE; rc = send_search_entry(ck->op, ck->rs); + ck->rs->sr_entry = NULL; } fd = 1; if ( rc ) -- 2.39.5