From db0fb9eb7da6059fa1af1e5429c898c81bdc2aa9 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Wed, 20 Mar 2013 18:46:10 +0200 Subject: [PATCH] fts: Fixed crash when searching virtual mailboxes and fts backend without lookup_multi(). Patch by Mike Abbott / Apple --- src/plugins/fts/fts-api.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/plugins/fts/fts-api.c b/src/plugins/fts/fts-api.c index 818c0ca40e..ff33479608 100644 --- a/src/plugins/fts/fts-api.c +++ b/src/plugins/fts/fts-api.c @@ -337,8 +337,13 @@ int fts_backend_lookup_multi(struct fts_backend *backend, result->box_results = p_new(result->pool, struct fts_result, i+1); for (i = 0; boxes[i] != NULL; i++) { + struct fts_result *box_result = &result->box_results[i]; + + p_array_init(&box_result->definite_uids, result->pool, 32); + p_array_init(&box_result->maybe_uids, result->pool, 32); + p_array_init(&box_result->scores, result->pool, 32); if (backend->v.lookup(backend, boxes[i], args, - and_args, &result->box_results[i]) < 0) + and_args, box_result) < 0) return -1; } return 0; -- 2.47.3