From dcf24711ef150027dad415bb87a616130827480b Mon Sep 17 00:00:00 2001 From: fffe Date: Fri, 24 Apr 2026 01:53:17 -0700 Subject: [PATCH] refactor --- src/rpc/scgi_task.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rpc/scgi_task.cc b/src/rpc/scgi_task.cc index 66a62f3b..60a13ee5 100644 --- a/src/rpc/scgi_task.cc +++ b/src/rpc/scgi_task.cc @@ -80,7 +80,12 @@ SCgiTask::close() { void SCgiTask::event_read() { - int bytes = ::recv(m_fileDesc, m_buffer.data() + m_position, m_buffer.size() - m_position - (m_content_length == 0), 0); + int read_length = m_buffer.size() - m_position; + + if (m_content_length == 0) + read_length--; + + int bytes = ::recv(m_fileDesc, m_buffer.data() + m_position, read_length, 0); if (bytes <= 0) { if (bytes == 0 || !(errno == EAGAIN || errno == EINTR))