From: Timo Sirainen Date: Wed, 29 Dec 2010 09:39:32 +0000 (+0200) Subject: lib-storage: Crashfix for opening sdbox/mdbox mailbox. X-Git-Tag: 2.1.alpha1~434 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e12203f8a6980d79a249ed927f1a263e047d7b15;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Crashfix for opening sdbox/mdbox mailbox. --- diff --git a/src/lib-storage/index/index-storage.c b/src/lib-storage/index/index-storage.c index 36d5157f38..609a29baeb 100644 --- a/src/lib-storage/index/index-storage.c +++ b/src/lib-storage/index/index-storage.c @@ -162,14 +162,6 @@ int index_storage_mailbox_open(struct mailbox *box, bool move_to_memory) if (move_to_memory) ibox->index_flags &= ~MAIL_INDEX_OPEN_FLAG_CREATE; - if ((index_flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) != 0) { - if (mail_index_is_in_memory(box->index)) { - mail_storage_set_critical(box->storage, - "Couldn't create index file"); - return -1; - } - } - if (mailbox_list_create_missing_index_dir(box->list, box->name) < 0) { mail_storage_set_internal_error(box->storage); return -1; @@ -201,6 +193,13 @@ int index_storage_mailbox_open(struct mailbox *box, bool move_to_memory) i_panic("in-memory index creation failed"); } } + if ((index_flags & MAIL_INDEX_OPEN_FLAG_NEVER_IN_MEMORY) != 0) { + if (mail_index_is_in_memory(box->index)) { + mail_storage_set_critical(box->storage, + "Couldn't create index file"); + return -1; + } + } box->cache = mail_index_get_cache(box->index); index_cache_register_defaults(box);