From: Daniel Stenberg Date: Mon, 13 May 2019 16:42:05 +0000 (+0200) Subject: urlapi: require a non-zero host name length when parsing URL X-Git-Tag: curl-7_65_0~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=9f9ec7da570bf1468eafe611023627c9a2b0b5d2;p=thirdparty%2Fcurl.git urlapi: require a non-zero host name length when parsing URL Updated test 1560 to verify. Closes #3880 --- diff --git a/lib/urlapi.c b/lib/urlapi.c index c66c07f0a8..0d05f4d92a 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 5ad7134d0b..a18d56a8ef 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},