diff options
author | Andrew Tridgell <tridge@samba.org> | 2006-09-13 00:10:38 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 14:18:29 -0500 |
commit | 7f63cebd331793d059b1dbfd2f7d7ce38105c4fe (patch) | |
tree | b23bdbb55ec7f8b4598bd3da0022a25873e49afe /source4/lib/ldb/modules | |
parent | 1a5978445199a1d8697a5604761899aa065059fe (diff) | |
download | samba-7f63cebd331793d059b1dbfd2f7d7ce38105c4fe.tar.gz samba-7f63cebd331793d059b1dbfd2f7d7ce38105c4fe.tar.bz2 samba-7f63cebd331793d059b1dbfd2f7d7ce38105c4fe.zip |
r18436: converted ldb to use talloc_move() instead of talloc_steal() when
appropriate.
Note that I also removed the error checks that were being done on the
result of talloc_steal(). They are pointless as talloc_steal() doesn't
have any failure modes that wouldn't cause a segv anyway, and they
tend to clutter the code
(This used to be commit c0d9e7d473b8e3eb2524a9fc29cf88680f994b36)
Diffstat (limited to 'source4/lib/ldb/modules')
-rw-r--r-- | source4/lib/ldb/modules/asq.c | 4 | ||||
-rw-r--r-- | source4/lib/ldb/modules/objectclass.c | 2 | ||||
-rw-r--r-- | source4/lib/ldb/modules/paged_results.c | 17 | ||||
-rw-r--r-- | source4/lib/ldb/modules/sort.c | 25 |
4 files changed, 13 insertions, 35 deletions
diff --git a/source4/lib/ldb/modules/asq.c b/source4/lib/ldb/modules/asq.c index a06dd5391a..75afae2c7e 100644 --- a/source4/lib/ldb/modules/asq.c +++ b/source4/lib/ldb/modules/asq.c @@ -117,7 +117,7 @@ static int asq_terminate(struct ldb_handle *handle) if (ac->controls) { for (i = 0; ac->controls[i]; i++); - ares->controls = talloc_steal(ares, ac->controls); + ares->controls = talloc_move(ares, ac->controls); } else { i = 0; } @@ -162,7 +162,7 @@ static int asq_base_callback(struct ldb_context *ldb, void *context, struct ldb_ /* we are interested only in the single reply (base search) we receive here */ if (ares->type == LDB_REPLY_ENTRY) { - ac->base_res = talloc_steal(ac, ares); + ac->base_res = talloc_move(ac, ares); } else { talloc_free(ares); } diff --git a/source4/lib/ldb/modules/objectclass.c b/source4/lib/ldb/modules/objectclass.c index 9f9e8dadae..fb7cd5db5e 100644 --- a/source4/lib/ldb/modules/objectclass.c +++ b/source4/lib/ldb/modules/objectclass.c @@ -439,7 +439,7 @@ static int get_self_callback(struct ldb_context *ldb, void *context, struct ldb_ return LDB_ERR_OPERATIONS_ERROR; } - ac->search_res = talloc_steal(ac, ares); + ac->search_res = talloc_move(ac, ares); } else { talloc_free(ares); } diff --git a/source4/lib/ldb/modules/paged_results.c b/source4/lib/ldb/modules/paged_results.c index 52d26502ee..43c3fc0246 100644 --- a/source4/lib/ldb/modules/paged_results.c +++ b/source4/lib/ldb/modules/paged_results.c @@ -190,10 +190,7 @@ static int paged_search_callback(struct ldb_context *ldb, void *context, struct ac->store->num_entries++; - ac->store->last->r = talloc_steal(ac->store->last, ares); - if (ac->store->last->r == NULL) { - goto error; - } + ac->store->last->r = talloc_move(ac->store->last, ares); ac->store->last->next = NULL; } @@ -208,19 +205,13 @@ static int paged_search_callback(struct ldb_context *ldb, void *context, struct goto error; } - ac->store->last_ref->r = talloc_steal(ac->store->last, ares); - if (ac->store->last_ref->r == NULL) { - goto error; - } + ac->store->last_ref->r = talloc_move(ac->store->last, ares); ac->store->last_ref->next = NULL; } if (ares->type == LDB_REPLY_DONE) { if (ares->controls) { - ac->store->controls = talloc_steal(ac->store, ares->controls); - if (! ac->store->controls) { - goto error; - } + ac->store->controls = talloc_move(ac->store, ares->controls); } talloc_free(ares); } @@ -394,7 +385,7 @@ static int paged_results(struct ldb_handle *handle) ares->controls = ac->store->controls; while (ares->controls[i]) i++; /* counting */ - ares->controls = talloc_steal(ares, ac->store->controls); + ares->controls = talloc_move(ares, ac->store->controls); num_ctrls += i; } diff --git a/source4/lib/ldb/modules/sort.c b/source4/lib/ldb/modules/sort.c index 0ae16d08ab..acee40833b 100644 --- a/source4/lib/ldb/modules/sort.c +++ b/source4/lib/ldb/modules/sort.c @@ -185,11 +185,7 @@ static int server_sort_search_callback(struct ldb_context *ldb, void *context, s ac->msgs[ac->num_msgs + 1] = NULL; - ac->msgs[ac->num_msgs] = talloc_steal(ac->msgs, ares->message); - if (! ac->msgs[ac->num_msgs]) { - goto error; - } - + ac->msgs[ac->num_msgs] = talloc_move(ac->msgs, ares->message); ac->num_msgs++; } @@ -200,22 +196,13 @@ static int server_sort_search_callback(struct ldb_context *ldb, void *context, s } ac->referrals[ac->num_refs + 1] = NULL; - - ac->referrals[ac->num_refs] = talloc_steal(ac->referrals, ares->referral); - if (! ac->referrals[ac->num_refs]) { - goto error; - } + ac->referrals[ac->num_refs] = talloc_move(ac->referrals, ares->referral); ac->num_refs++; } if (ares->type == LDB_REPLY_DONE) { - if (ares->controls) { - ac->controls = talloc_steal(ac, ares->controls); - if (! ac->controls) { - goto error; - } - } + ac->controls = talloc_move(ac, ares->controls); } talloc_free(ares); @@ -343,7 +330,7 @@ static int server_sort_results(struct ldb_handle *handle) } ares->type = LDB_REPLY_ENTRY; - ares->message = talloc_steal(ares, ac->msgs[i]); + ares->message = talloc_move(ares, ac->msgs[i]); handle->status = ac->up_callback(ac->module->ldb, ac->up_context, ares); if (handle->status != LDB_SUCCESS) { @@ -359,7 +346,7 @@ static int server_sort_results(struct ldb_handle *handle) } ares->type = LDB_REPLY_REFERRAL; - ares->referral = talloc_steal(ares, ac->referrals[i]); + ares->referral = talloc_move(ares, ac->referrals[i]); handle->status = ac->up_callback(ac->module->ldb, ac->up_context, ares); if (handle->status != LDB_SUCCESS) { @@ -374,7 +361,7 @@ static int server_sort_results(struct ldb_handle *handle) } ares->type = LDB_REPLY_DONE; - ares->controls = talloc_steal(ares, ac->controls); + ares->controls = talloc_move(ares, ac->controls); handle->status = ac->up_callback(ac->module->ldb, ac->up_context, ares); if (handle->status != LDB_SUCCESS) { |