]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-http: http-transfer-chunked - Add assertions to ensure that the chunk istream...
authorStephan Bosch <stephan.bosch@dovecot.fi>
Tue, 20 Mar 2018 17:39:32 +0000 (18:39 +0100)
committermartti.rannanjarvi <martti.rannanjarvi@open-xchange.com>
Sat, 18 Apr 2020 14:55:11 +0000 (14:55 +0000)
src/lib-http/http-transfer-chunked.c

index b6b4cd9e4c3d9df331fa31d14b832a25cf31edb7..618455324d2884ae26993aec99294b2edc8a17cf 100644 (file)
@@ -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;