Skip to content

Commit

Permalink
imapc: Fix assert-crash on some connect failures
Browse files Browse the repository at this point in the history
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)
  • Loading branch information
sirainen committed Jan 20, 2017
1 parent edaf7b3 commit fc452ed
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions src/lib-storage/index/imapc/imapc-storage.c
Expand Up @@ -598,6 +598,13 @@ int imapc_mailbox_select(struct imapc_mailbox *mbox)
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,
Expand Down Expand Up @@ -647,13 +654,6 @@ static int imapc_mailbox_open(struct mailbox *box)
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;
Expand Down

0 comments on commit fc452ed

Please sign in to comment.