From 8d50d3c39732852e9dd08c240c40f18536b62c0a Mon Sep 17 00:00:00 2001 From: xia-chu <771730766@qq.com> Date: Sun, 21 Feb 2021 22:24:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E5=8C=85=E9=80=BB=E8=BE=91=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=BE=B9=E7=95=8C=E6=A3=80=E6=B5=8B=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Http/HttpRequestSplitter.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Http/HttpRequestSplitter.cpp b/src/Http/HttpRequestSplitter.cpp index 465bf296..89554c90 100644 --- a/src/Http/HttpRequestSplitter.cpp +++ b/src/Http/HttpRequestSplitter.cpp @@ -39,9 +39,12 @@ void HttpRequestSplitter::input(const char *data,size_t len) { const char *index = nullptr; _remain_data_size = len; while (_content_len == 0 && _remain_data_size > 0 && (index = onSearchPacketTail(ptr,_remain_data_size)) != nullptr) { - if(index == ptr){ + if (index == ptr) { break; } + if (index < ptr || index > ptr + _remain_data_size) { + throw std::out_of_range("上层分包逻辑异常"); + } //_content_len == 0,这是请求头 const char *header_ptr = ptr; ssize_t header_size = index - ptr;