]> git.sur5r.net Git - openldap/commitdiff
ITS#6526
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 19 Apr 2010 21:32:31 +0000 (21:32 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 19 Apr 2010 21:32:31 +0000 (21:32 +0000)
CHANGES
servers/slapd/overlays/rwm.c

diff --git a/CHANGES b/CHANGES
index 07879f88732da2c6a5c51d1e10865fcd27cc6b88..f754512930657786692b8ebee2207f8b32540c51 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -37,6 +37,7 @@ OpenLDAP 2.4.22 Engineering
        Fixed slapo-pcache to release its own entries (ITS#6484)
        Fixed slapo-pcache with NULL backend (ITS#6490)
        Fixed slapo-rwm entry release handling (ITS#6484)
+       Fixed slapo-rwm memory handling with rewrites (ITS#6526)
        Fixed slapo-rwm olcRwmMap handling (ITS#6436)
        Fixed slapo-rwm REP_ENTRY flag handling (ITS#5340,ITS#6423)
        Fixed slapo-syncprov memory leak (ITS#6459)
index 603275ff7014bb713efdf0384a8c54211c82a8db..1c1acc819b46dfa6798c7ac1d1883a0039486f86 100644 (file)
@@ -2114,7 +2114,6 @@ rwm_cf_gen( ConfigArgs *c )
                switch ( c->type ) {
                case RWM_CF_REWRITE:
                        if ( c->valx >= 0 ) {
-                               ConfigArgs ca = { 0 };
                                int i;
 
                                for ( i = 0; !BER_BVISNULL( &rwmap->rwm_bva_rewrite[ i ] ); i++ )
@@ -2139,6 +2138,8 @@ rwm_cf_gen( ConfigArgs *c )
 
                                for ( i = 0; !BER_BVISNULL( &rwmap->rwm_bva_rewrite[ i ] ); i++ )
                                {
+                                       ConfigArgs ca = { 0 };
+
                                        ca.line = rwmap->rwm_bva_rewrite[ i ].bv_val;
                                        ca.argc = 0;
                                        config_fp_parse_line( &ca );
@@ -2282,7 +2283,6 @@ rwm_cf_gen( ConfigArgs *c )
        case RWM_CF_REWRITE:
                if ( c->valx >= 0 ) {
                        struct rewrite_info *rwm_rw = rwmap->rwm_rw;
-                       ConfigArgs ca = { 0 };
                        int i, last;
 
                        for ( last = 0; rwmap->rwm_bva_rewrite && !BER_BVISNULL( &rwmap->rwm_bva_rewrite[ last ] ); last++ )
@@ -2296,6 +2296,8 @@ rwm_cf_gen( ConfigArgs *c )
                        rc = rwm_info_init( &rwmap->rwm_rw );
 
                        for ( i = 0; i < c->valx; i++ ) {
+                               ConfigArgs ca = { 0 };
+
                                ca.line = rwmap->rwm_bva_rewrite[ i ].bv_val;
                                ca.argc = 0;
                                config_fp_parse_line( &ca );
@@ -2344,6 +2346,8 @@ rwm_cf_gen( ConfigArgs *c )
 
                        for ( i = c->valx; rwmap->rwm_bva_rewrite && !BER_BVISNULL( &rwmap->rwm_bva_rewrite[ i ] ); i++ )
                        {
+                               ConfigArgs ca = { 0 };
+
                                ca.line = rwmap->rwm_bva_rewrite[ i ].bv_val;
                                ca.argc = 0;
                                config_fp_parse_line( &ca );