aboutsummaryrefslogtreecommitdiff
path: root/lib/url.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2008-12-11 22:22:46 +0000
committerDaniel Stenberg <daniel@haxx.se>2008-12-11 22:22:46 +0000
commit1b4af1f8d821d3be0cb540e94f947841a967d70f (patch)
tree15d6bf94b355380fcf478bef8ec8e529a6160f1a /lib/url.c
parent8e255534a1513584d2411b10b47ea1249d8aaedc (diff)
- 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.
Diffstat (limited to 'lib/url.c')
-rw-r--r--lib/url.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/url.c b/lib/url.c
index 1cf8b08da..3e2b14e9d 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -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;