From e5beebd6a3ba50b35b7bbc5f49aecdcf61810cbe Mon Sep 17 00:00:00 2001 From: Pierangelo Masarati Date: Sat, 5 Jan 2002 18:31:38 +0000 Subject: [PATCH] more cleanup --- servers/slapd/back-ldap/search.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index df96f45f81..def4edbbde 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -149,7 +149,7 @@ ldap_back_search( base->bv_val, conn, &mbase.bv_val ) ) { case REWRITE_REGEXEC_OK: if ( mbase.bv_val == NULL ) { - mbase.bv_val = ( char * )base->bv_val; + mbase = *base; } #ifdef NEW_LOGGING LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1, @@ -185,7 +185,10 @@ ldap_back_search( free( mfilter.bv_val ); } mfilter = *filterstr; + } else { + mfilter.bv_len = strlen( mfilter.bv_val ); } + #ifdef NEW_LOGGING LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1, "[rw] searchFilter: \"%s\" -> \"%s\"\n", @@ -223,6 +226,12 @@ ldap_back_search( #endif /* !ENABLE_REWRITE */ } +#ifdef ENABLE_REWRITE + if ( mfilter.bv_val != filterstr->bv_val ) { + ldap_memfree( mfilter.bv_val ); + } +#endif /* ENABLE_REWRITE */ + mapped_attrs = ldap_back_map_attrs(&li->at_map, attrs, 0); if ( mapped_attrs == NULL && attrs) { for (count=0; attrs[count].an_name.bv_val; count++); @@ -341,19 +350,9 @@ finish:; if ( mapped_attrs ) { free( mapped_attrs ); } -#ifdef ENABLE_REWRITE - if ( mapped_filter != mfilter.bv_val ) { - free( mapped_filter ); - } - if ( mfilter.bv_val != filterstr->bv_val ) { - free( mfilter.bv_val ); - } -#else /* !ENABLE_REWRITE */ if ( mapped_filter != filterstr->bv_val ) { free( mapped_filter ); } -#endif /* !ENABLE_REWRITE */ - if ( mbase.bv_val != base->bv_val ) { free( mbase.bv_val ); } -- 2.39.5