From d836c9fee4bbef249dc7bf281336fb41eb3b77c7 Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Sat, 13 May 2017 22:54:59 +0200 Subject: url.c: add a compile-time check that CURL_MAX_WRITE_SIZE is large enough Some code (e.g. Curl_fillreadbuffer) assumes that this buffer is not exceedingly tiny and will break if it is. This same check is already done at run time in the CURLOPT_BUFFERSIZE option. --- lib/url.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/url.c') diff --git a/lib/url.c b/lib/url.c index 073c4331b..8e470b0e1 100644 --- a/lib/url.c +++ b/lib/url.c @@ -144,6 +144,15 @@ static unsigned int get_protocol_family(unsigned int protocol); #define READBUFFER_MAX CURL_MAX_READ_SIZE #define READBUFFER_MIN 1024 +/* Some parts of the code (e.g. chunked encoding) assume this buffer has at + * more than just a few bytes to play with. Don't let it become too small or + * bad things will happen. + */ +#if READBUFFER_SIZE < READBUFFER_MIN +# error READBUFFER_SIZE is too small +#endif + + /* * Protocol table. */ -- cgit v1.2.3