summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd/schema.c
diff options
context:
space:
mode:
authorNoriko Hosoi <nhosoi@redhat.com>2007-09-25 19:43:50 +0000
committerNoriko Hosoi <nhosoi@redhat.com>2007-09-25 19:43:50 +0000
commit552e7637c8de4a5f078b13cac0d2c442b60fe354 (patch)
treee307ac35cd9b952ab0360e83a1f07fc7d226e42c /ldap/servers/slapd/schema.c
parent8496e6cb2755dff96d1119dfb2ff2e61094ca8e6 (diff)
downloadds-552e7637c8de4a5f078b13cac0d2c442b60fe354.tar.gz
ds-552e7637c8de4a5f078b13cac0d2c442b60fe354.tar.xz
ds-552e7637c8de4a5f078b13cac0d2c442b60fe354.zip
Resolves: #287961
Summary: server crashes in schema replication Description: resetting the global linked list head when the first objectclass is removed from the list.
Diffstat (limited to 'ldap/servers/slapd/schema.c')
-rw-r--r--ldap/servers/slapd/schema.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ldap/servers/slapd/schema.c b/ldap/servers/slapd/schema.c
index 2e54e9dc..cdb8cf12 100644
--- a/ldap/servers/slapd/schema.c
+++ b/ldap/servers/slapd/schema.c
@@ -2553,6 +2553,10 @@ schema_replace_objectclasses ( Slapi_PBlock *pb, LDAPMod *mod, char *errorbuf,
/* the names match -- remove from the current list */
if ( tmpocp == curlisthead ) {
curlisthead = tmpocp->oc_next;
+ /* The global oc list is scanned in read_oc_ldif above,
+ if there are multiple objectclasses to be updated.
+ Needs to maintain the list dynamically. */
+ g_set_global_oc_nolock( curlisthead );
} else {
prevocp->oc_next = tmpocp->oc_next;
}