From: Fabian Keil Date: Sat, 30 Jan 2021 14:04:17 +0000 (+0100) Subject: parse_cgi_parameters(): Make sure the maximum number of segments is large enough X-Git-Tag: v_3_0_31~11 X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=commitdiff_plain;h=5bba5b89193fa2eeea51aa39fb6525c47b59a82a;ds=sidebyside parse_cgi_parameters(): Make sure the maximum number of segments is large enough ... for ssplit() to succeed. Prevents an assertion from getting triggered. OVE-20210130-0001. Reported by: Joshua Rogers (Opera) --- diff --git a/cgi.c b/cgi.c index 53587e95..6c788064 100644 --- a/cgi.c +++ b/cgi.c @@ -663,16 +663,7 @@ static struct map *parse_cgi_parameters(char *argstring) * The same hack is used in get_last_url() so it looks like * a real solution is needed. */ - size_t max_segments = strlen(argstring) / 2; - if (max_segments == 0) - { - /* - * XXX: If the argstring is empty, there's really - * no point in creating a param list, but currently - * other parts of Privoxy depend on the list's existence. - */ - max_segments = 1; - } + size_t max_segments = strlen(argstring) / 2 + 1; vector = malloc_or_die(max_segments * sizeof(char *)); cgi_params = new_map();