From 1bc0b9a779a1bd556d9ba12535f04ee5a1e1575c Mon Sep 17 00:00:00 2001 From: eidheim Date: Tue, 4 Feb 2020 11:06:20 +0100 Subject: [PATCH] Minor fix of streambuf size check in chunked transfer --- client_http.hpp | 2 +- server_http.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client_http.hpp b/client_http.hpp index 711047f..7cefe01 100644 --- a/client_http.hpp +++ b/client_http.hpp @@ -722,7 +722,7 @@ namespace SimpleWeb { return; } - if(chunk_size + session->response->streambuf.size() > session->response->streambuf.max_size()) { + if(2 + chunk_size + session->response->streambuf.size() > session->response->streambuf.max_size()) { session->response->content.end = false; session->callback(ec); session->response = std::shared_ptr(new Response(*session->response)); diff --git a/server_http.hpp b/server_http.hpp index 9afaee2..d2671c1 100644 --- a/server_http.hpp +++ b/server_http.hpp @@ -613,7 +613,7 @@ namespace SimpleWeb { return; } - if(chunk_size + session->request->streambuf.size() > session->request->streambuf.max_size()) { + if(2 + chunk_size + session->request->streambuf.size() > session->request->streambuf.max_size()) { auto response = std::shared_ptr(new Response(session, this->config.timeout_content)); response->write(StatusCode::client_error_payload_too_large); if(this->on_error)