Mercurial > dovecot > original-hg > dovecot-1.2
changeset 7545:2c3bb09045be HEAD
Avoid assert-crashing with broken transaction log files.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 25 May 2008 04:17:39 +0300 |
parents | 7512b6d8afe1 |
children | 7940ff8ecd13 |
files | src/lib-index/mail-transaction-log-view.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log-view.c Sun May 25 03:11:15 2008 +0300 +++ b/src/lib-index/mail-transaction-log-view.c Sun May 25 04:17:39 2008 +0300 @@ -149,6 +149,16 @@ return -1; } + if (min_file_offset > 0 && min_file_offset < view->tail->hdr.hdr_size) { + /* log file offset is probably corrupted in the index file. */ + mail_transaction_log_view_set_corrupted(view, + "file_seq=%u, min_file_offset (%"PRIuUOFF_T + ") < hdr_size (%u)", + min_file_seq, min_file_offset, + view->tail->hdr.hdr_size); + return -1; + } + view->tail = view->head = file = NULL; for (seq = min_file_seq; seq <= max_file_seq; seq++) { if (file == NULL || file->hdr.file_seq != seq) {