diff options
author | Stefan Metzmacher <metze@samba.org> | 2013-01-17 14:41:39 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2013-01-21 16:12:44 +0100 |
commit | c2853f55fc603d4875bb1e50a1cbf409df0421ea (patch) | |
tree | 30244d6d4169173ddaa49812099ce963ffdd2dc8 /source4 | |
parent | 1f673bf9209405dfa2593859bbc45d1c6dc2a960 (diff) | |
download | samba-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')
-rw-r--r-- | source4/dsdb/schema/schema_inferiors.c | 4 |
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 |