]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MEDIUM: increase chunk-size limit to 2GB-1
authorWilly Tarreau <w@1wt.eu>
Fri, 24 Feb 2012 18:20:12 +0000 (19:20 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 27 Feb 2012 08:51:52 +0000 (09:51 +0100)
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.

src/proto_http.c

index cfbebd9f73e77476490d0ec3ca29c4e82587e6f5..5efc7ec7518d9319df2608e8f40d3dde716ed6c8 100644 (file)
@@ -2150,7 +2150,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;
        }