Skip to content

Commit 400e3e3

Browse files
committed
Merge branch 'devel-0.9' of https://github.com/Mike-ECT/cpp-netlib into 0.9-devel
2 parents dedf276 + 098299c commit 400e3e3

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

boost/network/protocol/http/client/connection/sync_base.hpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ namespace boost { namespace network { namespace http { namespace impl {
132132
bool stopping = false;
133133
do {
134134
std::size_t chunk_size_line = read_until(socket_, response_buffer, "\r\n", error);
135+
std::size_t body_already_read = response_buffer.size() - chunk_size_line;
135136
if ((chunk_size_line == 0) && (error != boost::asio::error::eof)) throw boost::system::system_error(error);
136137
std::size_t chunk_size = 0;
137138
string_type data;
@@ -148,7 +149,8 @@ namespace boost { namespace network { namespace http { namespace impl {
148149
} else {
149150
bool stopping_inner = false;
150151
do {
151-
std::size_t chunk_bytes_read = read(socket_, response_buffer, boost::asio::transfer_at_least(chunk_size + 2), error);
152+
BOOST_ASSERT( body_already_read <= chunk_size + 2 );
153+
std::size_t chunk_bytes_read = read(socket_, response_buffer, boost::asio::transfer_at_least(chunk_size + 2 - body_already_read), error);
152154
if (chunk_bytes_read == 0) {
153155
if (error != boost::asio::error::eof) throw boost::system::system_error(error);
154156
stopping_inner = true;

0 commit comments

Comments
 (0)