Subject: [Boost-bugs] [Boost C++ Libraries] #2882: infinite loop when attempting to close a filtered_stream<output> with a zlib_decompressor when extra data is appended to the stream
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-03-23 21:37:37
#2882: infinite loop when attempting to close a filtered_stream<output> with a
zlib_decompressor when extra data is appended to the stream
---------------------------------------------+------------------------------
Reporter: Jeremy Drake <boost_at_[hidden]> | Owner: turkanis
Type: Bugs | Status: new
Milestone: Boost 1.39.0 | Component: iostreams
Version: Boost 1.38.0 | Severity: Problem
Keywords: |
---------------------------------------------+------------------------------
I ran into this while attempting to port over some code from using zlib
directly. Apparently one of the compressed file formats contains a 4 byte
length at the end of the zlib data. This causes zlib to return
Z_STREAM_END with 4 bytes still left to write. This in turn causes an
infinite loop in boost::iostreams::symmetric_filter::write, do to the fact
that the return value of filter().filter is not checked.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2882> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:49:59 UTC