Mercurial > dovecot > original-hg > dovecot-1.2
changeset 92:a73e43fa20e0 HEAD
warn if io_buffer_create_mmap() contains invalid size parameter
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 29 Aug 2002 01:52:57 +0300 |
parents | dc0891523276 |
children | 858984f26cf8 |
files | src/lib/iobuffer.c |
diffstat | 1 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/iobuffer.c Thu Aug 29 01:42:00 2002 +0300 +++ b/src/lib/iobuffer.c Thu Aug 29 01:52:57 2002 +0300 @@ -93,10 +93,18 @@ buf->start_offset = buf->size = 0; } + if (start_offset > stop_offset) + start_offset = stop_offset; + + if (size > (uoff_t) (stop_offset-start_offset)) { + i_warning("Trying to create IOBuffer with size %"UOFF_T_FORMAT + " but we have only %"UOFF_T_FORMAT" bytes available " + "in file", size, stop_offset-start_offset); + size = stop_offset-start_offset; + } + buf->start_offset = start_offset; - buf->size = size > 0 ? size : - start_offset > stop_offset ? 0 : - stop_offset - start_offset; + buf->size = size > 0 ? size : stop_offset - start_offset; buf->skip = buf->pos = buf->start_offset; return buf;