dovecot-2.2: mdbox: Fixed a long loop/crash when mdbox is broken...

dovecot at dovecot.org dovecot at dovecot.org
Sun May 20 03:26:29 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/703380324b71
changeset: 14371:703380324b71
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Mar 22 17:11:37 2012 +0200
description:
mdbox: Fixed a long loop/crash when mdbox is broken during saving.

diffstat:

 src/lib-storage/index/dbox-multi/mdbox-sync.c |  6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diffs (16 lines):

diff -r bb8d2d74a71d -r 703380324b71 src/lib-storage/index/dbox-multi/mdbox-sync.c
--- a/src/lib-storage/index/dbox-multi/mdbox-sync.c	Thu Mar 22 16:03:38 2012 +0200
+++ b/src/lib-storage/index/dbox-multi/mdbox-sync.c	Thu Mar 22 17:11:37 2012 +0200
@@ -274,6 +274,12 @@
 		/* we'll need to rebuild storage.
 		   try again from the beginning. */
 		mdbox_storage_set_corrupted(mbox->storage);
+		if ((flags & MDBOX_SYNC_FLAG_NO_REBUILD) != 0) {
+			mail_storage_set_critical(storage,
+				"mdbox %s: Can't rebuild storage",
+				mailbox_get_path(&mbox->box));
+			return -1;
+		}
 		return mdbox_sync_begin(mbox, flags, atomic, ctx_r);
 	}
 


More information about the dovecot-cvs mailing list