aboutsummaryrefslogtreecommitdiff
path: root/src/tool_urlglob.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2017-11-03 15:04:53 +0200
committerDaniel Stenberg <daniel@haxx.se>2017-11-04 10:23:27 +0100
commit90abb74ff0e3134d8647722cee36b1815c14143d (patch)
tree79517d0e162bac1ec88e1b7c1240753d3372bc91 /src/tool_urlglob.c
parent921bf1de527f287788fb0cdc7c1980e901fcb698 (diff)
curl: pass through [] in URLs instead of calling globbing error
Assisted-by: Per Lundberg Fixes #2044 Closes #2046 Closes #2048
Diffstat (limited to 'src/tool_urlglob.c')
-rw-r--r--src/tool_urlglob.c8
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;