summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@jiji.sjc.redhat.com>2010-06-08 13:37:48 -0700
committerNoriko Hosoi <nhosoi@jiji.sjc.redhat.com>2010-06-08 13:37:48 -0700
commit29133f2026a9218d9789aa345eeb526395b9d2e1 (patch)
tree536eb4ea360232e638366c1407936baa93deac67
parent849d8b780da19eb281ec93c709d51ca9dc32a27e (diff)
downloadds-29133f2026a9218d9789aa345eeb526395b9d2e1.tar.gz
ds-29133f2026a9218d9789aa345eeb526395b9d2e1.tar.xz
ds-29133f2026a9218d9789aa345eeb526395b9d2e1.zip
574101 - MODRDN request never returns - possible deadlock389-ds-base-1.2.6.rc1
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.
-rw-r--r--ldap/servers/slapd/back-ldbm/ldbm_modrdn.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c b/ldap/servers/slapd/back-ldbm/ldbm_modrdn.c
index d30a3b93..8c883770 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);