]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
virtual: Don't crash if trying to change a message that was already expunged in backe...
authorTimo Sirainen <tss@iki.fi>
Mon, 31 Aug 2009 23:32:05 +0000 (19:32 -0400)
committerTimo Sirainen <tss@iki.fi>
Mon, 31 Aug 2009 23:32:05 +0000 (19:32 -0400)
--HG--
branch : HEAD

src/plugins/virtual/virtual-sync.c

index 8b80915ab018713559a69b4fd74ab75a3b332050..8a5749533825468d7c4104d6a163049defd5d6b2 100644 (file)
@@ -370,8 +370,10 @@ static void virtual_sync_index_rec(struct virtual_sync_context *ctx,
                        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: