From 6aaa4b90642ec89db544319d7ade1969315122dc Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 5 Feb 2009 20:55:17 +0000 Subject: [PATCH] ITS#5924 --- CHANGES | 1 + servers/slapd/bconfig.c | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGES b/CHANGES index 3c2f649a77..062df33dda 100644 --- 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) diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 477e29e266..e1bdb48a4f 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -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 ); } } -- 2.39.2