summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/modules
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-09-13 00:10:38 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:18:29 -0500
commit7f63cebd331793d059b1dbfd2f7d7ce38105c4fe (patch)
treeb23bdbb55ec7f8b4598bd3da0022a25873e49afe /source4/lib/ldb/modules
parent1a5978445199a1d8697a5604761899aa065059fe (diff)
downloadsamba-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.c4
-rw-r--r--source4/lib/ldb/modules/objectclass.c2
-rw-r--r--source4/lib/ldb/modules/paged_results.c17
-rw-r--r--source4/lib/ldb/modules/sort.c25
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) {