diff --git a/lib/url.c b/lib/url.c index 3e2b14e9d0f5f3347a2d359f4caf6d25eb0384be..0f25a9d3eea2b48c85486f305243438e8c94edf2 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3724,7 +3724,10 @@ static CURLcode parse_remote_port(struct SessionHandle *data, char *portptr; char endbracket; - if((1 == sscanf(conn->host.name, "[%*45[0123456789abcdefABCDEF:.%]%c", + /* Note that at this point, the IPv6 address cannot contain any scope + suffix as that has already been removed in the ParseURLAndFillConnection() + function */ + if((1 == sscanf(conn->host.name, "[%*45[0123456789abcdefABCDEF:.]%c", &endbracket)) && (']' == endbracket)) { /* this is a RFC2732-style specified IP-address */