diff options
author | Daniel Stenberg <daniel@haxx.se> | 2017-11-03 15:04:53 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-11-04 10:23:27 +0100 |
commit | 90abb74ff0e3134d8647722cee36b1815c14143d (patch) | |
tree | 79517d0e162bac1ec88e1b7c1240753d3372bc91 /src | |
parent | 921bf1de527f287788fb0cdc7c1980e901fcb698 (diff) | |
download | curl-90abb74ff0e3134d8647722cee36b1815c14143d.tar.gz |
curl: pass through [] in URLs instead of calling globbing error
Assisted-by: Per Lundberg
Fixes #2044
Closes #2046
Closes #2048
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_urlglob.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c index df85d7129..f78d058cd 100644 --- a/src/tool_urlglob.c +++ b/src/tool_urlglob.c @@ -367,9 +367,11 @@ static CURLcode glob_parse(URLGlob *glob, char *pattern, size_t sublen = 0; while(*pattern && *pattern != '{') { if(*pattern == '[') { - /* Skip over potential IPv6 literals. */ - size_t skip; - if(peek_ipv6(pattern, &skip)) { + /* skip over IPv6 literals and [] */ + size_t skip = 0; + if(!peek_ipv6(pattern, &skip) && (pattern[1] == ']')) + skip = 2; + if(skip) { memcpy(buf, pattern, skip); buf += skip; pattern += skip; |