tool_operate.c: fix several problems about the usage of curl_easy_init() #9114
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On the one hand, curl_easy_init() returns NULL if some errors happen.
So it is better to check the return of it to propagate the proper status.
Without the check, if curl_easy_init() fails, transfer_per_config() will
return CURLE_UNKNOWN_OPTION since curl_easy_getinfo() returns that status
when the first argument is NULL.
On the other hand, we should call curl_easy_cleanup() to prevent potential
memory leaks on other error handling paths.