summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2006-10-16 12:03:55 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:21:11 -0500
commit549dd10f0f4bbc15c47a6da885db5d802b0a9a24 (patch)
treee08efe11251923a8ef9166a1ccaf20f0762a724d
parent1695408407a5c4222554ed40c839c0c27c6df37c (diff)
downloadsamba-549dd10f0f4bbc15c47a6da885db5d802b0a9a24.tar.gz
samba-549dd10f0f4bbc15c47a6da885db5d802b0a9a24.tar.bz2
samba-549dd10f0f4bbc15c47a6da885db5d802b0a9a24.zip
r19332: ldb_parse_tree leaks
(This used to be commit 3e0e2787c1da1c3831e21b163e1370001d725a3d)
-rw-r--r--source4/dsdb/samdb/ldb_modules/local_password.c4
-rw-r--r--source4/dsdb/samdb/ldb_modules/password_hash.c2
-rw-r--r--source4/lib/ldb/modules/objectclass.c2
-rw-r--r--source4/lib/ldb/tools/ldbsearch.c2
4 files changed, 5 insertions, 5 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/local_password.c b/source4/dsdb/samdb/ldb_modules/local_password.c
index 85e4318693..a19b71a44f 100644
--- a/source4/dsdb/samdb/ldb_modules/local_password.c
+++ b/source4/dsdb/samdb/ldb_modules/local_password.c
@@ -402,7 +402,7 @@ static int local_password_mod_search_self(struct ldb_handle *h) {
ac->search_req->operation = LDB_SEARCH;
ac->search_req->op.search.base = ac->orig_req->op.mod.message->dn;
ac->search_req->op.search.scope = LDB_SCOPE_BASE;
- ac->search_req->op.search.tree = ldb_parse_tree(ac->module->ldb, NULL);
+ ac->search_req->op.search.tree = ldb_parse_tree(ac->orig_req, NULL);
if (ac->search_req->op.search.tree == NULL) {
ldb_set_errstring(ac->module->ldb, "Invalid search filter");
return LDB_ERR_OPERATIONS_ERROR;
@@ -601,7 +601,7 @@ static int lpdb_remote_search_callback(struct ldb_context *ldb, void *context, s
}
req->operation = LDB_SEARCH;
req->op.search.scope = LDB_SCOPE_BASE;
- req->op.search.tree = ldb_parse_tree(ac->module->ldb, NULL);
+ req->op.search.tree = ldb_parse_tree(req, NULL);
if (req->op.search.tree == NULL) {
ldb_set_errstring(ac->module->ldb, "Out of Memory");
return LDB_ERR_OPERATIONS_ERROR;
diff --git a/source4/dsdb/samdb/ldb_modules/password_hash.c b/source4/dsdb/samdb/ldb_modules/password_hash.c
index 8bfd46e641..9ba7bc44c4 100644
--- a/source4/dsdb/samdb/ldb_modules/password_hash.c
+++ b/source4/dsdb/samdb/ldb_modules/password_hash.c
@@ -924,7 +924,7 @@ static int password_hash_mod_search_self(struct ldb_handle *h) {
ac->search_req->operation = LDB_SEARCH;
ac->search_req->op.search.base = ac->orig_req->op.mod.message->dn;
ac->search_req->op.search.scope = LDB_SCOPE_BASE;
- ac->search_req->op.search.tree = ldb_parse_tree(ac->module->ldb, NULL);
+ ac->search_req->op.search.tree = ldb_parse_tree(ac->search_req, NULL);
if (ac->search_req->op.search.tree == NULL) {
ldb_set_errstring(ac->module->ldb, "Invalid search filter");
return LDB_ERR_OPERATIONS_ERROR;
diff --git a/source4/lib/ldb/modules/objectclass.c b/source4/lib/ldb/modules/objectclass.c
index 493ecdaad4..e4040a8e3d 100644
--- a/source4/lib/ldb/modules/objectclass.c
+++ b/source4/lib/ldb/modules/objectclass.c
@@ -464,7 +464,7 @@ static int objectclass_search_self(struct ldb_handle *h) {
ac->search_req->operation = LDB_SEARCH;
ac->search_req->op.search.base = ac->orig_req->op.mod.message->dn;
ac->search_req->op.search.scope = LDB_SCOPE_BASE;
- ac->search_req->op.search.tree = ldb_parse_tree(ac->module->ldb, NULL);
+ ac->search_req->op.search.tree = ldb_parse_tree(ac->search_req, NULL);
if (ac->search_req->op.search.tree == NULL) {
ldb_set_errstring(ac->module->ldb, "objectclass: Internal error producing null search");
return LDB_ERR_OPERATIONS_ERROR;
diff --git a/source4/lib/ldb/tools/ldbsearch.c b/source4/lib/ldb/tools/ldbsearch.c
index 23d8115c20..837dfc9088 100644
--- a/source4/lib/ldb/tools/ldbsearch.c
+++ b/source4/lib/ldb/tools/ldbsearch.c
@@ -215,7 +215,7 @@ static int do_search(struct ldb_context *ldb,
req->operation = LDB_SEARCH;
req->op.search.base = basedn;
req->op.search.scope = options->scope;
- req->op.search.tree = ldb_parse_tree(ldb, expression);
+ req->op.search.tree = ldb_parse_tree(req, expression);
if (req->op.search.tree == NULL) return -1;
req->op.search.attrs = attrs;
req->controls = sctx->req_ctrls;