diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-02-25 11:46:41 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-02-25 12:56:19 +1100 |
commit | 3c202519eccfa1922f315e2f2910d832016ad3f1 (patch) | |
tree | f583d65e02dcec0c9aa19dd67262df0e1cb3ad60 /source4/lib | |
parent | 26891651ec8dd68113ff0f49d996c3e70d55933e (diff) | |
download | samba-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')
-rw-r--r-- | source4/lib/ldb/tools/ldbsearch.c | 7 |
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); |