From daba7e0abe4a5642543676e966298b08dee83eb9 Mon Sep 17 00:00:00 2001 From: Ingela Anderton Andin Date: Thu, 12 Apr 2018 14:24:08 +0200 Subject: inets: Gracefully handle bad headers max_headers operated on the individual header length instead of the total length of all headers. Also headers with empty keys are now discarded. --- lib/inets/src/http_lib/http_request.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/inets/src/http_lib/http_request.erl') diff --git a/lib/inets/src/http_lib/http_request.erl b/lib/inets/src/http_lib/http_request.erl index f68b233e10..8ca1542164 100644 --- a/lib/inets/src/http_lib/http_request.erl +++ b/lib/inets/src/http_lib/http_request.erl @@ -27,10 +27,12 @@ key_value(KeyValueStr) -> case lists:splitwith(fun($:) -> false; (_) -> true end, KeyValueStr) of - {Key, [$: | Value]} -> + {Key, [$: | Value]} when Key =/= [] -> {http_util:to_lower(string:strip(Key)), string:strip(Value)}; {_, []} -> - undefined + undefined; + _ -> + undefined end. %%------------------------------------------------------------------------- %% headers(HeaderList, #http_request_h{}) -> #http_request_h{} -- cgit v1.2.3