From 4dee40ead3a0401ec1ac300d455c8efbe84faa09 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Mon, 13 May 2019 18:42:05 +0200 Subject: urlapi: require a non-zero host name length when parsing URL Updated test 1560 to verify. --- lib/urlapi.c | 2 ++ tests/libtest/lib1560.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/lib/urlapi.c b/lib/urlapi.c index c66c07f0a..0d05f4d92 100644 --- a/lib/urlapi.c +++ b/lib/urlapi.c @@ -636,6 +636,8 @@ static CURLUcode hostname_check(struct Curl_URL *u, char *hostname) /* hostname with bad content */ return CURLUE_MALFORMED_INPUT; } + if(!hostname[0]) + return CURLUE_NO_HOST; return CURLUE_OK; } diff --git a/tests/libtest/lib1560.c b/tests/libtest/lib1560.c index 5ad7134d0..a18d56a8e 100644 --- a/tests/libtest/lib1560.c +++ b/tests/libtest/lib1560.c @@ -140,6 +140,9 @@ static struct testcase get_parts_list[] ={ "file | [11] | [12] | [13] | [14] | [15] | C:\\programs\\foo | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, #endif + /* URL without host name */ + {"http://a:b@/x", "", + CURLU_DEFAULT_SCHEME, 0, CURLUE_NO_HOST}, {"boing:80", "https | [11] | [12] | [13] | boing | 80 | / | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, -- cgit v1.2.1