]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_list_index_view_open() - Don't crash if list indexes are disabled
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Tue, 9 Jul 2019 15:35:24 +0000 (18:35 +0300)
committerTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 10 Jul 2019 06:48:24 +0000 (06:48 +0000)
This allows callers to call it without knowing if mailbox_list_index=yes

src/lib-storage/list/mailbox-list-index.c

index 300ff3cc2e2e3a1dc32637d36fffb7c4f0051765..ad932a94329b10adcdeb768f36e71c0e9182af48 100644 (file)
@@ -661,12 +661,16 @@ int mailbox_list_index_view_open(struct mailbox *box, bool require_refreshed,
                                 struct mail_index_view **view_r,
                                 uint32_t *seq_r)
 {
-       struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT_REQUIRE(box->list);
+       struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT(box->list);
        struct mailbox_list_index_node *node;
        struct mail_index_view *view;
        uint32_t seq;
        int ret;
 
+       if (ilist == NULL) {
+               /* mailbox list indexes aren't enabled */
+               return 0;
+       }
        if (MAILBOX_IS_NEVER_IN_INDEX(box) && require_refreshed) {
                /* Optimization: Caller wants the list index to be up-to-date
                   for this mailbox, but this mailbox isn't updated to the list