From 97e28f09edc56842f3ab34f3fc6b5bbd1d1902dd Mon Sep 17 00:00:00 2001 From: Azat Khuzhin Date: Thu, 25 Jun 2020 09:08:31 +0300 Subject: [PATCH] Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl() (cherry picked from commit 4528d8e98781be794cbce13394f8442dd466684b) --- http.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/http.c b/http.c index 4165de9d..04f089bc 100644 --- a/http.c +++ b/http.c @@ -3286,6 +3286,7 @@ evhttp_parse_query_impl(const char *str, struct evkeyvalq *headers, p = argument = line; while (p != NULL && *p != '\0') { char *key, *value, *decoded_value; + int err; argument = strsep(&p, "&"); value = argument; @@ -3301,8 +3302,10 @@ evhttp_parse_query_impl(const char *str, struct evkeyvalq *headers, evhttp_decode_uri_internal(value, strlen(value), decoded_value, 1 /*always_decode_plus*/); event_debug(("Query Param: %s -> %s\n", key, decoded_value)); - evhttp_add_header_internal(headers, key, decoded_value); + err = evhttp_add_header_internal(headers, key, decoded_value); mm_free(decoded_value); + if (err) + goto error; } result = 0;