From: Marco Bettini Date: Thu, 24 Aug 2023 12:28:57 +0000 (+0000) Subject: fts: fts_search_get_first_missing_uid() - Avoid using box->view as now it can be... X-Git-Tag: 2.4.0~2526 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2e8ab3a55ff5e99dd6921b1289ac66cff9569c43;p=thirdparty%2Fdovecot%2Fcore.git fts: fts_search_get_first_missing_uid() - Avoid using box->view as now it can be unopened yet --- diff --git a/src/plugins/fts/fts-search.c b/src/plugins/fts/fts-search.c index 14992ebe26..5cc7388cf4 100644 --- a/src/plugins/fts/fts-search.c +++ b/src/plugins/fts/fts-search.c @@ -342,13 +342,12 @@ int fts_search_get_first_missing_uid(struct fts_backend *backend, struct mailbox *box, uint32_t *last_indexed_uid_r) { - uint32_t messages_count = mail_index_view_get_messages_count(box->view); - uint32_t uid, last_indexed_uid; - - if (messages_count == 0) - return 1; + struct mailbox_status status; + if (fts_mailbox_get_status(box, STATUS_UIDNEXT, &status) < 0) + return -1; - mail_index_lookup_uid(box->view, messages_count, &uid); + uint32_t uid = status.uidnext > 1 ? status.uidnext - 1 : 1; + uint32_t last_indexed_uid; for (bool refreshed = FALSE;; refreshed = TRUE) { int ret = fts_backend_is_uid_indexed(backend, box, uid, &last_indexed_uid);