From 92518a563b9c1f9117e1dec2cc2a8ae95b1643d6 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Fri, 24 Feb 2012 19:20:12 +0100
Subject: [PATCH 8/9] MEDIUM: increase chunk-size limit to 2GB-1

Since commit 115acb97, chunk size was limited to 256MB. There is no reason for
such a limit and the comment on the code suggests a missing zero. However,
increasing the limit past 2 GB causes trouble due to some 32-bit subtracts
in various computations becoming negative (eg: buffer_max_len). So let's limit
the chunk size to 2 GB - 1 max.
(cherry picked from commit 431946e9617572d2813bd5a8f5a51ce36f841ea3)
---
 src/proto_http.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/proto_http.c b/src/proto_http.c
index 22a7737..7fd1fe6 100644
--- a/src/proto_http.c
+++ b/src/proto_http.c
@@ -2112,7 +2112,7 @@ int http_parse_chunk_size(struct buffer *buf, struct http_msg *msg)
 			break;
 		if (++ptr >= end)
 			ptr = buf->data;
-		if (chunk & 0xF000000) /* overflow will occur */
+		if (chunk & 0xF8000000) /* integer overflow will occur if result >= 2GB */
 			goto error;
 		chunk = (chunk << 4) + c;
 	}
-- 
1.8.1.5