tool_operate: fix add_parallel_transfers when more are in queue

Trying to return early from the function if no new transfers were added
would break the "morep" argument and cause issues. This could lead to
zero content "transfers" (within quotes since they would never be
started) when parallel-max was reduced.

Reported-by: Gavin Wong
Analyzed-by: Jay Satiro
Fixes #4937
Closes #5112
This commit is contained in:
Daniel Stenberg 2020-03-16 09:33:27 +01:00
parent 2eba5e4c7b
commit 95c36fff75
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -2055,7 +2055,7 @@ static CURLcode add_parallel_transfers(struct GlobalConfig *global,
*addedp = FALSE;
*morep = FALSE;
result = create_transfer(global, share, addedp);
if(result || !*addedp)
if(result)
return result;
for(per = transfers; per && (all_added < global->parallel_max);
per = per->next) {