From 24fe49a3d10633fa9be5547e89d10be1d5f9ccb1 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 13 Sep 2006 02:03:20 +0000 Subject: 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) --- source4/lib/ldb/common/ldb.c | 5 +---- source4/lib/ldb/ldb_ildap/ldb_ildap.c | 2 +- source4/lib/ldb/modules/paged_results.c | 8 +++----- 3 files changed, 5 insertions(+), 10 deletions(-) (limited to 'source4') 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); } -- cgit