# HG changeset patch # User Timo Sirainen # Date 1291264658 0 # Node ID e12572ca445468b57b459ce2f95bd2dce3517af0 # Parent d7886c6d9ba58e59eea43bc095639034c31ca930 lib-index: Added a missing sanity check for expunge-guid record's uid. This fixes a non-self healing assert-crash. diff -r d7886c6d9ba5 -r e12572ca4454 src/lib-index/mail-index-sync-update.c --- a/src/lib-index/mail-index-sync-update.c Tue Nov 30 22:38:05 2010 +0000 +++ b/src/lib-index/mail-index-sync-update.c Thu Dec 02 04:37:38 2010 +0000 @@ -558,8 +558,15 @@ break; } end = CONST_PTR_OFFSET(data, hdr->size); - for (; rec != end; rec++) + for (; rec != end; rec++) { + if (rec->uid == 0) { + mail_index_sync_set_corrupted(ctx, + "Expunge-guid for invalid uid=%u", + rec->uid); + break; + } sync_expunge(ctx, rec->uid, rec->uid); + } break; } case MAIL_TRANSACTION_FLAG_UPDATE: {