Mercurial > dovecot > original-hg > dovecot-1.2
changeset 940:65639e7a7cb0 HEAD
A few more sanity checks.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 10 Jan 2003 15:36:01 +0200 |
parents | 24b64302f59c |
children | 4d6b69558add |
files | src/lib-index/mail-index-data.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-index-data.c Fri Jan 10 13:29:24 2003 +0200 +++ b/src/lib-index/mail-index-data.c Fri Jan 10 15:36:01 2003 +0200 @@ -73,6 +73,12 @@ static void mail_index_data_file_close(struct mail_index_data *data) { + if (data->modified) { + if (msync(data->mmap_base, data->mmap_used_length, MS_SYNC) < 0) + index_data_set_syscall_error(data, "msync()"); + data->modified = FALSE; + } + if (data->anon_mmap) { if (munmap_anon(data->mmap_base, data->mmap_full_length) < 0) index_data_set_syscall_error(data, "munmap_anon()"); @@ -141,7 +147,9 @@ if (pos + size <= data->mmap_full_length) { data->mmap_used_length = data->header->used_file_size; - if (data->mmap_used_length <= data->mmap_full_length) + if (data->mmap_used_length >= + sizeof(struct mail_index_data_header) && + data->mmap_used_length <= data->mmap_full_length) return TRUE; /* file size changed, re-mmap() */