Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9633:c447114b0f89 HEAD
lib-index: Added a missing sanity check for expunge-guid record's uid.
This fixes a non-self healing assert-crash.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 02 Dec 2010 04:37:38 +0000 |
parents | 84a1deb21c2e |
children | ebc5dc47eb59 |
files | src/lib-index/mail-index-sync-update.c |
diffstat | 1 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-sync-update.c Fri Nov 26 18:51:47 2010 +0000 +++ b/src/lib-index/mail-index-sync-update.c Thu Dec 02 04:37:38 2010 +0000 @@ -528,8 +528,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: {