dovecot-2.2: lib-storage: Fixed assert-crash in mailbox rename w...

dovecot at dovecot.org dovecot at dovecot.org
Tue Mar 4 15:12:29 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/346981286d20
changeset: 17152:346981286d20
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Mar 04 17:11:49 2014 +0200
description:
lib-storage: Fixed assert-crash in mailbox rename with layout=index

diffstat:

 src/lib-storage/list/mailbox-list-index-sync.c |  3 +++
 src/lib-storage/list/mailbox-list-index.c      |  2 +-
 src/lib-storage/list/mailbox-list-index.h      |  1 +
 3 files changed, 5 insertions(+), 1 deletions(-)

diffs (36 lines):

diff -r fad7f879caa1 -r 346981286d20 src/lib-storage/list/mailbox-list-index-sync.c
--- a/src/lib-storage/list/mailbox-list-index-sync.c	Mon Feb 24 12:30:51 2014 -0600
+++ b/src/lib-storage/list/mailbox-list-index-sync.c	Tue Mar 04 17:11:49 2014 +0200
@@ -238,6 +238,9 @@
 
 	i_assert(!ilist->syncing);
 
+	if (mailbox_list_index_index_open(list) < 0)
+		return -1;
+
 	if (mail_index_sync_begin(ilist->index, &index_sync_ctx, &view, &trans,
 				  MAIL_INDEX_SYNC_FLAG_AVOID_FLAG_UPDATES) < 0) {
 		mailbox_list_index_set_index_error(list);
diff -r fad7f879caa1 -r 346981286d20 src/lib-storage/list/mailbox-list-index.c
--- a/src/lib-storage/list/mailbox-list-index.c	Mon Feb 24 12:30:51 2014 -0600
+++ b/src/lib-storage/list/mailbox-list-index.c	Tue Mar 04 17:11:49 2014 +0200
@@ -44,7 +44,7 @@
 	mailbox_list_index_init_pool(ilist);
 }
 
-static int mailbox_list_index_index_open(struct mailbox_list *list)
+int mailbox_list_index_index_open(struct mailbox_list *list)
 {
 	struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT(list);
 	const struct mail_storage_settings *set = list->mail_set;
diff -r fad7f879caa1 -r 346981286d20 src/lib-storage/list/mailbox-list-index.h
--- a/src/lib-storage/list/mailbox-list-index.h	Mon Feb 24 12:30:51 2014 -0600
+++ b/src/lib-storage/list/mailbox-list-index.h	Tue Mar 04 17:11:49 2014 +0200
@@ -137,6 +137,7 @@
 void mailbox_list_index_node_unlink(struct mailbox_list_index *ilist,
 				    struct mailbox_list_index_node *node);
 
+int mailbox_list_index_index_open(struct mailbox_list *list);
 bool mailbox_list_index_need_refresh(struct mailbox_list_index *ilist,
 				     struct mail_index_view *view);
 int mailbox_list_index_refresh(struct mailbox_list *list);


More information about the dovecot-cvs mailing list