From: Stephan Bosch Date: Tue, 20 Mar 2018 17:39:32 +0000 (+0100) Subject: lib-http: http-transfer-chunked - Add assertions to ensure that the chunk istream... X-Git-Tag: 2.3.11.2~304 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9385e2777d915fb7c45e4e0c6c0216a8f8e8414a;p=thirdparty%2Fdovecot%2Fcore.git lib-http: http-transfer-chunked - Add assertions to ensure that the chunk istream position is valid. --- diff --git a/src/lib-http/http-transfer-chunked.c b/src/lib-http/http-transfer-chunked.c index b6b4cd9e4c..618455324d 100644 --- a/src/lib-http/http-transfer-chunked.c +++ b/src/lib-http/http-transfer-chunked.c @@ -388,7 +388,8 @@ http_transfer_chunked_istream_read_data( size_t size, avail; ssize_t ret = 0; - if (tcstream->chunk_pos >= tcstream->chunk_size) { + i_assert(tcstream->chunk_pos <= tcstream->chunk_size); + if (tcstream->chunk_pos == tcstream->chunk_size) { tcstream->state = HTTP_CHUNKED_PARSE_STATE_DATA_READY; return 0; } @@ -435,7 +436,8 @@ http_transfer_chunked_istream_read_data( i_stream_skip(stream->parent, size); tcstream->chunk_pos += size; - if (tcstream->chunk_pos >= tcstream->chunk_size) + i_assert(tcstream->chunk_pos <= tcstream->chunk_size); + if (tcstream->chunk_pos == tcstream->chunk_size) tcstream->state = HTTP_CHUNKED_PARSE_STATE_DATA_READY; ret = size;