dovecot-1.2: virtual: Don't crash if trying to change a message ...

dovecot at dovecot.org dovecot at dovecot.org
Tue Sep 1 02:32:22 EEST 2009


details:   http://hg.dovecot.org/dovecot-1.2/rev/170c03680738
changeset: 9351:170c03680738
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 31 19:31:49 2009 -0400
description:
virtual: Don't crash if trying to change a message that was already expunged in backend mailbox.

diffstat:

1 file changed, 4 insertions(+), 2 deletions(-)
src/plugins/virtual/virtual-sync.c |    6 ++++--

diffs (16 lines):

diff -r 4e031f3d9083 -r 170c03680738 src/plugins/virtual/virtual-sync.c
--- a/src/plugins/virtual/virtual-sync.c	Mon Aug 31 19:15:00 2009 -0400
+++ b/src/plugins/virtual/virtual-sync.c	Mon Aug 31 19:31:49 2009 -0400
@@ -371,8 +371,10 @@ static void virtual_sync_index_rec(struc
 			continue;
 
 		virtual_backend_box_sync_mail_set(bbox);
-		if (!mail_set_uid(bbox->sync_mail, vrec->real_uid))
-			i_panic("UID lost unexpectedly");
+		if (!mail_set_uid(bbox->sync_mail, vrec->real_uid)) {
+			/* message is already expunged from backend mailbox. */
+			continue;
+		}
 
 		switch (sync_rec->type) {
 		case MAIL_INDEX_SYNC_TYPE_EXPUNGE:


More information about the dovecot-cvs mailing list