18 lines
749 B
Diff
18 lines
749 B
Diff
diff --git a/src/lib-index/mail-index-sync.c b/src/lib-index/mail-index-sync.c
|
|
index 6322ee1869..c847f1cc01 100644
|
|
--- a/src/lib-index/mail-index-sync.c
|
|
+++ b/src/lib-index/mail-index-sync.c
|
|
@@ -544,6 +544,12 @@ static bool mail_index_sync_view_have_any(struct mail_index_view *view,
|
|
return TRUE;
|
|
|
|
mail_transaction_log_get_head(view->index->log, &log_seq, &log_offset);
|
|
+ if (log_seq < view->map->hdr.log_file_seq ||
|
|
+ ((log_seq == view->map->hdr.log_file_seq &&
|
|
+ log_offset < view->map->hdr.log_file_tail_offset))) {
|
|
+ /* invalid offsets - let the syncing handle the error */
|
|
+ return TRUE;
|
|
+ }
|
|
if (mail_transaction_log_view_set(view->log_view,
|
|
view->map->hdr.log_file_seq,
|
|
view->map->hdr.log_file_tail_offset,
|