diff --git a/servers/slapd/overlays/rwmmap.c b/servers/slapd/overlays/rwmmap.c index f2cbeed954bb10478da60818262b0032543a1dec..ef1d44dd3d62df00ae5b94cf9f3d53de8b9c725a 100644 --- a/servers/slapd/overlays/rwmmap.c +++ b/servers/slapd/overlays/rwmmap.c @@ -789,9 +789,6 @@ rwm_filter_map_rewrite( case REWRITE_REGEXEC_OK: if ( !BER_BVISNULL( fstr ) ) { fstr->bv_len = strlen( fstr->bv_val ); - if ( fstr->bv_val != ftmp.bv_val ) { - ch_free( ftmp.bv_val ); - } } else { *fstr = ftmp; @@ -800,6 +797,9 @@ rwm_filter_map_rewrite( Debug( LDAP_DEBUG_ARGS, "[rw] %s: \"%s\" -> \"%s\"\n", fdc.ctx, ftmp.bv_val, fstr->bv_val ); + if ( fstr->bv_val != ftmp.bv_val ) { + ch_free( ftmp.bv_val ); + } rc = LDAP_SUCCESS; break;