aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorMichael Kaufmann <mail@michael-kaufmann.ch>2017-11-12 13:25:09 +0100
committerMichael Kaufmann <mail@michael-kaufmann.ch>2017-11-14 18:20:56 +0100
commitae7369b6d04b96f4021e08bd7f61c9e86d64beaa (patch)
treef91c71b2359cb136fc2ae5a053602579a67673d2 /lib/url.c
parentde67c259d36df13b22b071191a547ce7be751568 (diff)
URL: return error on malformed URLs with junk after IPv6 bracket
Follow-up to aadb7c7. Verified by new test 1263. Closes #2072
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/url.c b/lib/url.c
index 6d7d2d460..d2208d5eb 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3337,7 +3337,13 @@ static CURLcode parse_remote_port(struct Curl_easy *data,
portptr = strchr(conn->host.name, ']');
if(portptr) {
*portptr++ = '\0'; /* zero terminate, killing the bracket */
- if(':' != *portptr)
+ if(*portptr) {
+ if (*portptr != ':') {
+ failf(data, "IPv6 closing bracket followed by '%c'", *portptr);
+ return CURLE_URL_MALFORMAT;
+ }
+ }
+ else
portptr = NULL; /* no port number available */
}
}