aboutsummaryrefslogtreecommitdiff
path: root/src/urlglob.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/urlglob.c')
-rw-r--r--src/urlglob.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/urlglob.c b/src/urlglob.c
index e49b762f5..590c37ae8 100644
--- a/src/urlglob.c
+++ b/src/urlglob.c
@@ -107,7 +107,7 @@ static GlobCode glob_set(URLGlob *glob, char *pattern,
/* always check for a literal (may be "") between patterns */
if(GLOB_ERROR == glob_word(glob, ++pattern, ++pos, &wordamount))
- wordamount=1;
+ return GLOB_ERROR;
*amount = pat->content.Set.size * wordamount;
done = TRUE;
@@ -262,8 +262,11 @@ static GlobCode glob_word(URLGlob *glob, char *pattern,
*amount = 1; /* default is one single string */
while (*pattern != '\0' && *pattern != '{' && *pattern != '[') {
- if (*pattern == '}' || *pattern == ']')
+ if (*pattern == '}' || *pattern == ']') {
+ snprintf(glob->errormsg, sizeof(glob->errormsg),
+ "unmatched close brace/bracket at pos %zu\n", pos);
return GLOB_ERROR;
+ }
/* only allow \ to escape known "special letters" */
if (*pattern == '\\' &&
@@ -335,7 +338,7 @@ int glob_url(URLGlob** glob, char* url, int *urlnum, FILE *error)
else {
if(error && glob_expand->errormsg[0]) {
/* send error description to the error-stream */
- fprintf(error, "curl: (%d) [globbing] %s\n",
+ fprintf(error, "curl: (%d) [globbing] %s",
CURLE_URL_MALFORMAT, glob_expand->errormsg);
}
/* it failed, we cleanup */