diff options
Diffstat (limited to 'source4/lib')
-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); } |