From d9748a167d40e324ad3e4ebe4cd022cbcc09b006 Mon Sep 17 00:00:00 2001
From: Quanah Gibson-Mount <quanah@openldap.org>
Date: Fri, 16 Apr 2010 00:18:54 +0000
Subject: [PATCH] don't free before use

---
 servers/slapd/overlays/rwmmap.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/servers/slapd/overlays/rwmmap.c b/servers/slapd/overlays/rwmmap.c
index f2cbeed954..ef1d44dd3d 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;
  		
-- 
GitLab