Hi,
Can you apply the below patch and re-build the binary and test?
If still have any problem, please let me known.
Thanks.
David
diff --git a/src/extensions/proxy/proxyconn.cpp
b/src/extensions/proxy/proxyconn.cpp
index e9af652..e0b596d 100644
@@ -619,7 +619,7 @@ int ProxyConn::readRespBody()
return LS_FAIL;
if (m_pChunkIS)
{
- while (getState() != ABORT)
+ while (getState() != ABORT &&
!m_pChunkIS->eos())
{
char *pBuf = pHEC->getRespBuf(bufLen);
if (!pBuf)
@@ -632,22 +632,18 @@ int ProxyConn::readRespBody()
m_lLastRespRecvTime = time(NULL);
m_iRespBodyRecv += ret;
int ret1 = pHEC->processRespBodyData(pBuf,
ret);
- if (ret1)
- return ret1;
- if (ret > 1024)
+ if (ret1 == -1)
+ ret = LS_FAIL;
+ if (ret > 1024 || (ret < (int)bufLen))
pHEC->flushResp();
-
}
if (m_pChunkIS->eos())
{
ret = 0;
break;
}
- if (ret < (int)bufLen)
- {
- pHEC->flushResp();
- return 0;
- }
+ pHEC->flushResp();
+ return ret;
}
else
{