From: Timo Sirainen Date: Wed, 1 Apr 2009 19:58:56 +0000 (-0400) Subject: istream: Added one more assert to make sure return value is correct. X-Git-Tag: 1.2.rc1~23 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0892446b45c195461bb7be6599f02d97e1e2c9b2;p=thirdparty%2Fdovecot%2Fcore.git istream: Added one more assert to make sure return value is correct. --HG-- branch : HEAD --- diff --git a/src/lib/istream.c b/src/lib/istream.c index cf8b7a0cd3..5a96d2b651 100644 --- a/src/lib/istream.c +++ b/src/lib/istream.c @@ -67,6 +67,7 @@ void i_stream_set_return_partial_line(struct istream *stream, bool set) ssize_t i_stream_read(struct istream *stream) { struct istream_private *_stream = stream->real_stream; + size_t old_size; ssize_t ret; if (unlikely(stream->closed)) @@ -75,6 +76,7 @@ ssize_t i_stream_read(struct istream *stream) stream->eof = FALSE; stream->stream_errno = 0; + old_size = _stream->pos - _stream->skip; ret = _stream->read(_stream); switch (ret) { case -2: @@ -94,7 +96,7 @@ ssize_t i_stream_read(struct istream *stream) break; default: i_assert(ret > 0); - i_assert((size_t)ret <= _stream->pos - _stream->skip); + i_assert((size_t)ret+old_size == _stream->pos - _stream->skip); break; } return ret;