From: Timo Sirainen Date: Wed, 20 Mar 2013 16:46:10 +0000 (+0200) Subject: fts: Fixed crash when searching virtual mailboxes and fts backend without lookup_multi(). X-Git-Tag: 2.2.rc3~1^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=db0fb9eb7da6059fa1af1e5429c898c81bdc2aa9;p=thirdparty%2Fdovecot%2Fcore.git fts: Fixed crash when searching virtual mailboxes and fts backend without lookup_multi(). Patch by Mike Abbott / Apple --- 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;