From 951f9c05504ad4b7c1d1bd2c306edea901c355f0 Mon Sep 17 00:00:00 2001 From: "Stephen R. van den Berg" <srb@cuci.nl> Date: Thu, 2 Nov 2017 16:28:01 +0100 Subject: [PATCH] HTTP.Query: Support skipping chunked options. --- lib/modules/Protocols.pmod/HTTP.pmod/Query.pike | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike index 0b3bd4d008..78e2c7588e 100644 --- a/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike +++ b/lib/modules/Protocols.pmod/HTTP.pmod/Query.pike @@ -430,7 +430,7 @@ OUTER: while (sizeof(buf) > cpos) { if (sscanf(buf[cpos..f], "%x", np)) { if (np) cpos = f+np+4; else { - if (sscanf(buf[cpos..f+3], "%*x%*[ ]%s", data) + if (sscanf(buf[cpos..f+3], "%*x%*[^\r\n]%s", data) == 3 && sizeof(data) == 4) break; return; } @@ -891,7 +891,7 @@ string data(int|void max_length) DBG("got %d; chunk: %O left: %d\n",strlen(lbuf),rbuf[..40],strlen(rbuf)); - if (sscanf(rbuf,"%x%*[ ]\r\n%s",len,s)==3) + if (sscanf(rbuf,"%x%*[^\r\n]\r\n%s",len,s)==3) { if (len==0) { -- GitLab