From a028b1322e3c3fe658f39dda79f2fe76c4563224 Mon Sep 17 00:00:00 2001 From: chenyong <1521761801@qq.com> Date: Mon, 11 Mar 2019 11:11:41 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91chunk=20?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E8=8E=B7=E5=8F=96=20chunk=5Fsz=20=3D=200=20?= =?UTF-8?q?=E6=97=B6=EF=BC=8Cwebclient=5Frecv=20=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E9=94=99=E8=AF=AF=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chenyong <1521761801@qq.com> --- src/webclient.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/webclient.c b/src/webclient.c index 55de69a..5497dd1 100644 --- a/src/webclient.c +++ b/src/webclient.c @@ -1126,6 +1126,7 @@ static int webclient_next_chunk(struct webclient_session *session) /* end of chunks */ closesocket(session->socket); session->socket = -1; + session->chunk_sz = -1; } return session->chunk_sz; @@ -1150,6 +1151,12 @@ int webclient_read(struct webclient_session *session, unsigned char *buffer, siz RT_ASSERT(session); + /* get next chunk size is zero, client is already closed, return zero */ + if (session->chunk_sz < 0) + { + return 0; + } + if (session->socket < 0) { return -WEBCLIENT_DISCONNECT;