From: Timo Sirainen Date: Mon, 31 Aug 2009 23:32:05 +0000 (-0400) Subject: virtual: Don't crash if trying to change a message that was already expunged in backe... X-Git-Tag: 2.0.alpha1~203 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=42270b2d8d9bb0d04b16e0ead727154b32399a3f;p=thirdparty%2Fdovecot%2Fcore.git virtual: Don't crash if trying to change a message that was already expunged in backend mailbox. --HG-- branch : HEAD --- diff --git a/src/plugins/virtual/virtual-sync.c b/src/plugins/virtual/virtual-sync.c index 8b80915ab0..8a57495338 100644 --- a/src/plugins/virtual/virtual-sync.c +++ b/src/plugins/virtual/virtual-sync.c @@ -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: