]> git.sur5r.net Git - openldap/commitdiff
ITS#5924
authorQuanah Gibson-Mount <quanah@openldap.org>
Thu, 5 Feb 2009 20:55:17 +0000 (20:55 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Thu, 5 Feb 2009 20:55:17 +0000 (20:55 +0000)
CHANGES
servers/slapd/bconfig.c

diff --git a/CHANGES b/CHANGES
index 3c2f649a772b1b5bf43f175e720c51670ddcea01..062df33dda431baba54f0cb6561119a1978a4c7c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -18,6 +18,7 @@ OpenLDAP 2.4.14 Engineering
        Added slapd slapi_pw_find (ITS#2615,ITS#4359)
        Fixed slapd bconfig to return error codes (ITS#5867)
        Fixed slapd bconfig encoding incorrectly (ITS#5897)
+       Fixed slapd bconfig dangling pointers (ITS#5924)
        Fixed slapd connection assert (ITS#5835)
        Fixed slapd epoll handling (ITS#5886)
        Fixed slapd frontend/backend options handling (ITS#5857)
index 477e29e2660e71560b7d58f5443ce5da13e83847..e1bdb48a4f011e8725febfed054c1773f6bea494 100644 (file)
@@ -3809,14 +3809,15 @@ config_rename_kids( CfEntryInfo *ce )
        struct berval rdn, nrdn;
 
        for (ce2 = ce->ce_kids; ce2; ce2 = ce2->ce_sibs) {
+               struct berval newdn, newndn;
                dnRdn ( &ce2->ce_entry->e_name, &rdn );
                dnRdn ( &ce2->ce_entry->e_nname, &nrdn );
+               build_new_dn( &newdn, &ce->ce_entry->e_name, &rdn, NULL );
+               build_new_dn( &newndn, &ce->ce_entry->e_nname, &nrdn, NULL );
                free( ce2->ce_entry->e_name.bv_val );
                free( ce2->ce_entry->e_nname.bv_val );
-               build_new_dn( &ce2->ce_entry->e_name, &ce->ce_entry->e_name,
-                       &rdn, NULL );
-               build_new_dn( &ce2->ce_entry->e_nname, &ce->ce_entry->e_nname,
-                       &nrdn, NULL );
+               ce2->ce_entry->e_name = newdn;
+               ce2->ce_entry->e_nname = newndn;
                config_rename_kids( ce2 );
        }
 }