file URLs that are 6 bytes or shorter are not complete. Return
CURLUE_MALFORMED_INPUT for those. Extended test 1560 to verify.
Triggered by #8041
Closes #8042
/* handle the file: scheme */
if(url_has_scheme && !strcmp(schemebuf, "file")) {
+ if(urllen <= 6)
+ /* file:/ is not enough to actually be a complete file: URL */
+ return CURLUE_MALFORMED_INPUT;
+
/* path has been allocated large enough to hold this */
strcpy(path, &url[5]);
{"file:/hello.html",
"file | [11] | [12] | [13] | [14] | [15] | /hello.html | [16] | [17]",
0, 0, CURLUE_OK},
+ {"file:/h",
+ "file | [11] | [12] | [13] | [14] | [15] | /h | [16] | [17]",
+ 0, 0, CURLUE_OK},
+ {"file:/",
+ "file | [11] | [12] | [13] | [14] | [15] | | [16] | [17]",
+ 0, 0, CURLUE_MALFORMED_INPUT},
{"file://127.0.0.1/hello.html",
"file | [11] | [12] | [13] | [14] | [15] | /hello.html | [16] | [17]",
0, 0, CURLUE_OK},