diff options
Diffstat (limited to 'source4')
| -rw-r--r-- | source4/dsdb/samdb/ldb_modules/kludge_acl.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/kludge_acl.c b/source4/dsdb/samdb/ldb_modules/kludge_acl.c index 27c13ddf60..97130495a3 100644 --- a/source4/dsdb/samdb/ldb_modules/kludge_acl.c +++ b/source4/dsdb/samdb/ldb_modules/kludge_acl.c @@ -122,6 +122,12 @@ static int kludge_acl_allowedAttributes(struct ldb_context *ldb, struct ldb_mess  	const struct dsdb_schema *schema = dsdb_get_schema(ldb);  	const struct dsdb_class *class;  	int i, j, ret; + + 	/* If we don't have a schema yet, we can't do anything... */ +	if (schema == NULL) { +		return LDB_SUCCESS; +	} +  	/* Must remove any existing attribute, or else confusion reins */  	ldb_msg_remove_attr(msg, attrName);  	ret = ldb_msg_add_empty(msg, attrName, 0, &allowedAttributes); @@ -184,6 +190,12 @@ static int kludge_acl_childClasses(struct ldb_context *ldb, struct ldb_message *  	const struct dsdb_schema *schema = dsdb_get_schema(ldb);  	const struct dsdb_class *class;  	int i, j, ret; + + 	/* If we don't have a schema yet, we can't do anything... */ +	if (schema == NULL) { +		return LDB_SUCCESS; +	} +  	/* Must remove any existing attribute, or else confusion reins */  	ldb_msg_remove_attr(msg, attrName);  	ret = ldb_msg_add_empty(msg, attrName, 0, &allowedClasses);  | 
