From d33bda48fbbbac583a91fede1b40bf60cd6c1f69 Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 6 Mar 2004 09:41:06 +0000 Subject: [PATCH] refine fix to ITS#2999 --- CHANGES | 1 + servers/slapd/back-ldap/search.c | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGES b/CHANGES index 5e0b000ca2..32b39132a6 100644 --- a/CHANGES +++ b/CHANGES @@ -3,6 +3,7 @@ OpenLDAP 2.2 Change Log OpenLDAP 2.2.7 Engineering Added total operation count in back-monitor (ITS#2983) Fixed search abandon handling in backglue (ITS#2999) + Fixed massaged base free in back-ldap (ITS#2999) Fixed (undocumented) AD canonical DN (ITS#3000) OpenLDAP 2.2.6 Release diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index fac26b5449..a3aa7a2cc3 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -154,7 +154,17 @@ ldap_back_search( rc = ldap_back_filter_map_rewrite( &dc, op->oq_search.rs_filter, &mfilter, BACKLDAP_MAP ); - if ( rc ) { + switch ( rc ) { + case LDAP_SUCCESS: + break; + + case LDAP_COMPARE_FALSE: + rs->sr_err = LDAP_SUCCESS; + rs->sr_text = NULL; + rc = 0; + goto finish; + + default: rs->sr_err = LDAP_OTHER; rs->sr_text = "Rewrite error"; dontfreetext = 1; @@ -354,7 +364,7 @@ finish:; if ( mfilter.bv_val != op->oq_search.rs_filterstr.bv_val ) { ch_free( mfilter.bv_val ); } - if ( mbase.bv_val != op->o_req_dn.bv_val ) { + if ( mbase.bv_val != op->o_req_ndn.bv_val ) { free( mbase.bv_val ); } -- 2.39.5