ldap/servers/slapd/back-ldbm/ldbm_modrdn.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
New commits:
commit 29133f2026a9218d9789aa345eeb526395b9d2e1
Author: Noriko Hosoi <nhosoi(a)jiji.sjc.redhat.com>
Date: Tue Jun 8 13:37:48 2010 -0700
574101 - MODRDN request never returns - possible deadlock
https://bugzilla.redhat.com/show_bug.cgi?id=574101
Description: To create the ID list for child entries of to-be-renamed
entry, an inappropriate function (idl_append) was used. The function
expects the passed IDs are sorted. If not sorted, idl_insert should
be used instead.
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
b/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
index d30a3b9..8c88377 100644
--- a/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
+++ b/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
@@ -1684,7 +1684,11 @@ moddn_get_children(back_txn *ptxn,
if(slapi_dn_issuffix( backentry_get_ndn(e),
slapi_sdn_get_ndn(dn_parentdn)))
{
- idl_append(result_idl,id);
+ /*
+ * The given ID list is not sorted.
+ * We have to call idl_insert instead of idl_append.
+ */
+ idl_insert(&result_idl,id);
}
}
CACHE_RETURN(&inst->inst_cache, &e);