summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-09-21 23:46:41 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-09-21 23:46:41 +0200
commit3aa44a5ee5751e03a00c73a7025a5ad601b3619b (patch)
tree870b2a7d71376ee7439cef608a4297c998ea58b5
parente09749dd435e46d7c3a0a74019dcb135e2fc301c (diff)
downloadcurl-bagder/curl-exit-on-error.tar.gz
curl: exit the create_transfers loop on errorsbagder/curl-exit-on-error
When looping around the ranges and given URLs to create transfers, all errors should exit the loop and return. Previously it would keep looping. Reported-by: SumatraPeter on github Bug: #4393
-rw-r--r--src/tool_operate.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 316951869..ede816d34 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -1885,15 +1885,9 @@ static CURLcode create_transfers(struct GlobalConfig *global,
urls = NULL;
}
- if(infilenum > 1) {
- /* when file globbing, exit loop upon critical error */
- if(is_fatal_error(result))
- break;
- }
- else if(result)
- /* when not file globbing, exit loop upon any error */
+ if(result)
+ /* exit loop upon error */
break;
-
} /* loop to the next globbed upload file */
/* Free loop-local allocated memory */
@@ -1913,6 +1907,9 @@ static CURLcode create_transfers(struct GlobalConfig *global,
Curl_safefree(urlnode->infile);
urlnode->flags = 0;
+ if(result)
+ /* exit loop upon error */
+ break;
} /* for-loop through all URLs */
quit_curl: