]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib: i_stream_read() - Fix assert with DEBUG enabled
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Wed, 27 Jan 2021 18:34:29 +0000 (20:34 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Tue, 23 Mar 2021 10:13:23 +0000 (10:13 +0000)
It doesn't matter if the data buffer changes for <=0 return value if the
buffer was previously empty.

src/lib/istream.c

index 55b9a9eef00908ba339707ae5f1e59bb00564210..32ee3cee986539a91f15f639e0ba3a45a36a07fb 100644 (file)
@@ -275,7 +275,8 @@ ssize_t i_stream_read(struct istream *stream)
                i_stream_snapshot_free(&_stream->prev_snapshot);
 #ifdef DEBUG
        else if (!invalid) {
-               i_assert((_stream->pos - _stream->skip) == (prev_pos - prev_skip));
+               i_assert((_stream->pos - _stream->skip) == (prev_pos - prev_skip) ||
+                        prev_pos == prev_skip);
                if (prev_pos - prev_skip <= 4)
                        i_assert(memcmp(prev_buf, prev_data + prev_skip, prev_pos - prev_skip) == 0);
                else {