Check error code of evhttp_add_header_internal() in evhttp_parse_query_impl()

(cherry picked from commit 4528d8e98781be794cbce13394f8442dd466684b)
This commit is contained in:
Azat Khuzhin 2020-06-25 09:08:31 +03:00
parent a62ec76561
commit 97e28f09ed

5
http.c
View File

@ -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;