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