summaryrefslogtreecommitdiff
path: root/source4/lib/ldb
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-02-25 11:46:41 +1100
committerAndrew Bartlett <abartlet@samba.org>2010-02-25 12:56:19 +1100
commit3c202519eccfa1922f315e2f2910d832016ad3f1 (patch)
treef583d65e02dcec0c9aa19dd67262df0e1cb3ad60 /source4/lib/ldb
parent26891651ec8dd68113ff0f49d996c3e70d55933e (diff)
downloadsamba-3c202519eccfa1922f315e2f2910d832016ad3f1.tar.gz
samba-3c202519eccfa1922f315e2f2910d832016ad3f1.tar.bz2
samba-3c202519eccfa1922f315e2f2910d832016ad3f1.zip
s4:ldb Fix segfault in ldbsearch store_referral callback
sctx->refs_store was not initialised, and that made talloc_realloc grumpy once we started actually returning referrals regularly from Samba4's partitions module (0be57c747825737fa9d64411223e693b055b5f8f by mdw). We now just use talloc_zero() and forget about this manual initialisation work. Tracking down use of uninitialised variables with valgrind was the grand idea when this started, but in practice we just get segfaults in unusual places. Andrew Bartlett
Diffstat (limited to 'source4/lib/ldb')
-rw-r--r--source4/lib/ldb/tools/ldbsearch.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/source4/lib/ldb/tools/ldbsearch.c b/source4/lib/ldb/tools/ldbsearch.c
index 207b344195..af0c12a84c 100644
--- a/source4/lib/ldb/tools/ldbsearch.c
+++ b/source4/lib/ldb/tools/ldbsearch.c
@@ -191,21 +191,16 @@ static int do_search(struct ldb_context *ldb,
req = NULL;
- sctx = talloc(ldb, struct search_context);
+ sctx = talloc_zero(ldb, struct search_context);
if (!sctx) return -1;
sctx->ldb = ldb;
sctx->sort = options->sorted;
- sctx->num_stored = 0;
- sctx->refs_stored = 0;
- sctx->store = NULL;
sctx->req_ctrls = ldb_parse_control_strings(ldb, sctx, (const char **)options->controls);
if (options->controls != NULL && sctx->req_ctrls== NULL) {
printf("parsing controls failed: %s\n", ldb_errstring(ldb));
return -1;
}
- sctx->entries = 0;
- sctx->refs = 0;
if (basedn == NULL) {
basedn = ldb_get_default_basedn(ldb);