[dovecot-cvs] dovecot/src/lib-index mail-index-data.c,1.33,1.34
cras at procontrol.fi
cras at procontrol.fi
Fri Jan 10 15:36:04 EET 2003
Update of /home/cvs/dovecot/src/lib-index
In directory danu:/tmp/cvs-serv20337
Modified Files:
mail-index-data.c
Log Message:
A few more sanity checks.
Index: mail-index-data.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-index/mail-index-data.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- mail-index-data.c 5 Jan 2003 13:09:52 -0000 1.33
+++ mail-index-data.c 10 Jan 2003 13:36:01 -0000 1.34
@@ -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() */
More information about the dovecot-cvs
mailing list