summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-09-13 02:03:20 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:18:29 -0500
commit24fe49a3d10633fa9be5547e89d10be1d5f9ccb1 (patch)
treedc6e76c3dcc80c99b6d8070460dfa0f53333da0a
parent12e7682e7bff8e6d10a982a6e364cdc09d8b3524 (diff)
downloadsamba-24fe49a3d10633fa9be5547e89d10be1d5f9ccb1.tar.gz
samba-24fe49a3d10633fa9be5547e89d10be1d5f9ccb1.tar.bz2
samba-24fe49a3d10633fa9be5547e89d10be1d5f9ccb1.zip
r18438: I should have examined these uses of talloc_move() more
carefully. Most of them are OK, but a couple were not. (This used to be commit b0de2838829d9750817c31f28c11c6b2be6e7b64)
-rw-r--r--source4/lib/ldb/common/ldb.c5
-rw-r--r--source4/lib/ldb/ldb_ildap/ldb_ildap.c2
-rw-r--r--source4/lib/ldb/modules/paged_results.c8
3 files changed, 5 insertions, 10 deletions
diff --git a/source4/lib/ldb/common/ldb.c b/source4/lib/ldb/common/ldb.c
index 50ec106d84..1089fb3d92 100644
--- a/source4/lib/ldb/common/ldb.c
+++ b/source4/lib/ldb/common/ldb.c
@@ -548,10 +548,7 @@ static int ldb_search_callback(struct ldb_context *ldb, void *context, struct ld
res->refs[n + 1] = NULL;
}
- if (ares->controls) {
- res->controls = talloc_move(res, ares->controls);
- }
-
+ talloc_steal(res, ares->controls);
talloc_free(ares);
return LDB_SUCCESS;
diff --git a/source4/lib/ldb/ldb_ildap/ldb_ildap.c b/source4/lib/ldb/ldb_ildap/ldb_ildap.c
index b826a31b40..49a8e8627a 100644
--- a/source4/lib/ldb/ldb_ildap/ldb_ildap.c
+++ b/source4/lib/ldb/ldb_ildap/ldb_ildap.c
@@ -381,7 +381,6 @@ static int ildb_request_send(struct ldb_module *module, struct ldap_message *msg
return LDB_ERR_OPERATIONS_ERROR;
}
- ildb_ac->req = talloc_move(ildb_ac, req);
talloc_free(req->time_event);
req->time_event = NULL;
if (timeout) {
@@ -392,6 +391,7 @@ static int ildb_request_send(struct ldb_module *module, struct ldap_message *msg
req->async.fn = ildb_callback;
req->async.private_data = (void *)h;
+ ildb_ac->req = talloc_move(ildb_ac, req);
*handle = h;
return LDB_SUCCESS;
diff --git a/source4/lib/ldb/modules/paged_results.c b/source4/lib/ldb/modules/paged_results.c
index 43c3fc0246..6636efcccb 100644
--- a/source4/lib/ldb/modules/paged_results.c
+++ b/source4/lib/ldb/modules/paged_results.c
@@ -190,7 +190,7 @@ static int paged_search_callback(struct ldb_context *ldb, void *context, struct
ac->store->num_entries++;
- ac->store->last->r = talloc_move(ac->store->last, ares);
+ ac->store->last->r = talloc_steal(ac->store->last, ares);
ac->store->last->next = NULL;
}
@@ -205,14 +205,12 @@ static int paged_search_callback(struct ldb_context *ldb, void *context, struct
goto error;
}
- ac->store->last_ref->r = talloc_move(ac->store->last, ares);
+ ac->store->last_ref->r = talloc_steal(ac->store->last, ares);
ac->store->last_ref->next = NULL;
}
if (ares->type == LDB_REPLY_DONE) {
- if (ares->controls) {
- ac->store->controls = talloc_move(ac->store, ares->controls);
- }
+ ac->store->controls = talloc_move(ac->store, ares->controls);
talloc_free(ares);
}