diff options
author | Andrew Tridgell <tridge@samba.org> | 2006-09-13 02:03:20 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:18:29 -0500 |
commit | 24fe49a3d10633fa9be5547e89d10be1d5f9ccb1 (patch) | |
tree | dc6e76c3dcc80c99b6d8070460dfa0f53333da0a | |
parent | 12e7682e7bff8e6d10a982a6e364cdc09d8b3524 (diff) | |
download | samba-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.c | 5 | ||||
-rw-r--r-- | source4/lib/ldb/ldb_ildap/ldb_ildap.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/modules/paged_results.c | 8 |
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); } |