summaryrefslogtreecommitdiff
path: root/source4/dsdb/schema
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2013-01-17 14:41:39 +0100
committerStefan Metzmacher <metze@samba.org>2013-01-21 16:12:44 +0100
commitc2853f55fc603d4875bb1e50a1cbf409df0421ea (patch)
tree30244d6d4169173ddaa49812099ce963ffdd2dc8 /source4/dsdb/schema
parent1f673bf9209405dfa2593859bbc45d1c6dc2a960 (diff)
downloadsamba-c2853f55fc603d4875bb1e50a1cbf409df0421ea.tar.gz
samba-c2853f55fc603d4875bb1e50a1cbf409df0421ea.tar.bz2
samba-c2853f55fc603d4875bb1e50a1cbf409df0421ea.zip
dsdb-schema: make sure we build [system]PossibleInferiors completely
Otherwise callers like dsdb_schema_copy_shallow() will corrupt the talloc hierarchie. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb/schema')
-rw-r--r--source4/dsdb/schema/schema_inferiors.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/dsdb/schema/schema_inferiors.c b/source4/dsdb/schema/schema_inferiors.c
index 14699c7467..2f7d46131b 100644
--- a/source4/dsdb/schema/schema_inferiors.c
+++ b/source4/dsdb/schema/schema_inferiors.c
@@ -202,6 +202,8 @@ static void schema_fill_possible_inferiors(const struct dsdb_schema *schema,
{
struct dsdb_class *c2;
+ schema_class->possibleInferiors = NULL;
+
for (c2=schema->classes; c2; c2=c2->next) {
const char **superiors = schema_posssuperiors(schema, c2);
if (c2->systemOnly == false
@@ -223,6 +225,8 @@ static void schema_fill_system_possible_inferiors(const struct dsdb_schema *sche
{
struct dsdb_class *c2;
+ schema_class->systemPossibleInferiors = NULL;
+
for (c2=schema->classes; c2; c2=c2->next) {
const char **superiors = schema_posssuperiors(schema, c2);
if (c2->objectClassCategory != 2