Mercurial > dovecot > core-2.2
changeset 21435:83f1f9b81f3b
imapc: Fix assert-crash on some connect failures
imapc_storage_has_modseqs() causes imapc_client_get_capabilities() to be
called, which assert-crashes if there isn't a valid connection:
Panic: file imapc-client.c: line 438 (imapc_client_get_capabilities): assertion failed: (conn != NULL)
author | Timo Sirainen <timo.sirainen@dovecot.fi> |
---|---|
date | Fri, 20 Jan 2017 18:19:05 +0200 |
parents | 1cc2946b801c |
children | e2cba0461f82 |
files | src/lib-storage/index/imapc/imapc-storage.c |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/imapc/imapc-storage.c Fri Jan 20 15:57:10 2017 +0200 +++ b/src/lib-storage/index/imapc/imapc-storage.c Fri Jan 20 18:19:05 2017 +0200 @@ -598,6 +598,13 @@ return -1; } + if (imapc_storage_has_modseqs(mbox->storage)) { + if (!array_is_created(&mbox->rseq_modseqs)) + i_array_init(&mbox->rseq_modseqs, 32); + else + array_clear(&mbox->rseq_modseqs); + } + mbox->client_box = imapc_client_mailbox_open(mbox->storage->client->client, mbox); imapc_client_mailbox_set_reopen_cb(mbox->client_box, @@ -647,13 +654,6 @@ return -1; } - if (imapc_storage_has_modseqs(mbox->storage)) { - if (!array_is_created(&mbox->rseq_modseqs)) - i_array_init(&mbox->rseq_modseqs, 32); - else - array_clear(&mbox->rseq_modseqs); - } - if (imapc_mailbox_select(mbox) < 0) { mailbox_close(box); return -1;