- Keshav Krity found out that libcurl failed to deal with dotted IPv6

addresses if they were very long (>39 letters) due to a too strict address
  validity parser. It now accepts addresses up to 45 bytes long.
This commit is contained in:
Daniel Stenberg
2008-12-11 22:22:46 +00:00
parent 8e255534a1
commit 1b4af1f8d8
3 changed files with 9 additions and 2 deletions

View File

@@ -3724,7 +3724,8 @@ static CURLcode parse_remote_port(struct SessionHandle *data,
char *portptr;
char endbracket;
if((1 == sscanf(conn->host.name, "[%*39[0123456789abcdefABCDEF:.%]%c", &endbracket)) &&
if((1 == sscanf(conn->host.name, "[%*45[0123456789abcdefABCDEF:.%]%c",
&endbracket)) &&
(']' == endbracket)) {
/* this is a RFC2732-style specified IP-address */
conn->bits.ipv6_ip = TRUE;