summaryrefslogtreecommitdiff
path: root/source4/dsdb/samdb/ldb_modules/linked_attributes.c
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-03-16 14:52:39 +1100
committerAndrew Bartlett <abartlet@samba.org>2010-03-16 19:26:03 +1100
commit2de07761e071ccf09c0ea9e0fdc6a61303356549 (patch)
tree8d95f00365a32c81e001768fc2aa0aa8c866accb /source4/dsdb/samdb/ldb_modules/linked_attributes.c
parentbf0b4d7ee3f52f77d706ccea12abb2f033b4abd9 (diff)
downloadsamba-2de07761e071ccf09c0ea9e0fdc6a61303356549.tar.gz
samba-2de07761e071ccf09c0ea9e0fdc6a61303356549.tar.bz2
samba-2de07761e071ccf09c0ea9e0fdc6a61303356549.zip
s4:dsdb Change dsdb_get_schema() callers to use new talloc argument
This choses an appropriate talloc context to attach the schema too, long enough lived to ensure it does not go away before the operation compleates. Andrew Bartlett
Diffstat (limited to 'source4/dsdb/samdb/ldb_modules/linked_attributes.c')
-rw-r--r--source4/dsdb/samdb/ldb_modules/linked_attributes.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
index 9bea7db31c..1e0a2b05f3 100644
--- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c
+++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c
@@ -148,7 +148,7 @@ static int linked_attributes_rename(struct ldb_module *module, struct ldb_reques
unsigned int i;
int ret;
struct ldb_context *ldb = ldb_module_get_ctx(module);
- struct dsdb_schema *schema = dsdb_get_schema(ldb);
+ struct dsdb_schema *schema;
/*
- load the current msg
- find any linked attributes
@@ -160,6 +160,13 @@ static int linked_attributes_rename(struct ldb_module *module, struct ldb_reques
if (ret != LDB_SUCCESS) {
return ret;
}
+
+ schema = dsdb_get_schema(ldb, res);
+ if (!schema) {
+ ldb_oom(schema);
+ return LDB_ERR_OPERATIONS_ERROR;
+ }
+
msg = res->msgs[0];
for (i=0; i<msg->num_elements; i++) {