Mercurial > dovecot > core-2.2
changeset 1719:f25f90d8d24a HEAD
expunge/append behaviour corrupted indexes
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 24 Aug 2003 09:32:08 +0300 |
parents | 43b4b59310d2 |
children | a0dee56b280d |
files | src/lib-index/mail-index-file.c src/lib-index/mail-index.c |
diffstat | 2 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-file.c Sun Aug 24 09:31:35 2003 +0300 +++ b/src/lib-index/mail-index-file.c Sun Aug 24 09:32:08 2003 +0300 @@ -31,6 +31,11 @@ index->header->used_file_size -= sizeof(*rec) * count; index->mmap_used_length -= sizeof(*rec) * count; + /* not really needed since append() will initialize it as well, + but may help preventing problems if change is only partially + written to disk */ + memset((char *) rec + index->mmap_used_length, 0, sizeof(*rec) * count); + return mail_index_truncate(index); }
--- a/src/lib-index/mail-index.c Sun Aug 24 09:31:35 2003 +0300 +++ b/src/lib-index/mail-index.c Sun Aug 24 09:32:08 2003 +0300 @@ -680,6 +680,7 @@ index->mmap_used_length); rec->uid = index->header->next_uid++; rec->msg_flags = 0; + rec->cache_offset = 0; index->header->used_file_size += sizeof(*rec); index->mmap_used_length += sizeof(*rec);