From 5bba5b89193fa2eeea51aa39fb6525c47b59a82a Mon Sep 17 00:00:00 2001 From: Fabian Keil Date: Sat, 30 Jan 2021 15:04:17 +0100 Subject: [PATCH] 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) --- cgi.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) 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(); -- 2.39.2