]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-compression: ostream-bzlib2 - Do not finish stream early
authorAki Tuomi <aki.tuomi@open-xchange.com>
Tue, 3 Mar 2020 11:22:11 +0000 (13:22 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Fri, 6 Mar 2020 09:00:50 +0000 (09:00 +0000)
Flushing can happen when not finishing stream, so do not
finalize stream until it's the final flush.

src/lib-compression/ostream-bzlib.c

index 9839fab6fa06f9d0d14547a7d3f008e106d388de..a8a488e58b6b8dc8f69bd1246fa7839e61487b87 100644 (file)
@@ -112,6 +112,10 @@ static int o_stream_bzlib_send_flush(struct bzlib_ostream *zstream)
        if ((ret = o_stream_zlib_send_outbuf(zstream)) <= 0)
                return ret;
 
+       /* do not attempt to finish the stream early */
+       if (!final)
+               return 1;
+
        i_assert(zstream->outbuf_used == 0);
        do {
                len = sizeof(zstream->outbuf) - zs->avail_out;