tool_operate: better cleanup of easy handle in exit path

Closes #9114
This commit is contained in:
xkernel 2022-07-10 18:23:03 +02:00 committed by Daniel Stenberg
parent afdbb176f6
commit d123f0e590
No known key found for this signature in database
GPG Key ID: 5CC908FDB71E12C2

View File

@ -2471,8 +2471,10 @@ static CURLcode transfer_per_config(struct GlobalConfig *global,
*/
result = curl_easy_getinfo(curltls, CURLINFO_TLS_SSL_PTR,
&tls_backend_info);
if(result)
if(result) {
curl_easy_cleanup(curltls);
return result;
}
/* Set the CA cert locations specified in the environment. For Windows if
* no environment-specified filename is found then check for CA bundle
@ -2489,6 +2491,7 @@ static CURLcode transfer_per_config(struct GlobalConfig *global,
config->cacert = strdup(env);
if(!config->cacert) {
curl_free(env);
curl_easy_cleanup(curltls);
errorf(global, "out of memory\n");
return CURLE_OUT_OF_MEMORY;
}
@ -2499,6 +2502,7 @@ static CURLcode transfer_per_config(struct GlobalConfig *global,
config->capath = strdup(env);
if(!config->capath) {
curl_free(env);
curl_easy_cleanup(curltls);
helpf(global->errors, "out of memory\n");
return CURLE_OUT_OF_MEMORY;
}
@ -2510,6 +2514,7 @@ static CURLcode transfer_per_config(struct GlobalConfig *global,
config->cacert = strdup(env);
if(!config->cacert) {
curl_free(env);
curl_easy_cleanup(curltls);
errorf(global, "out of memory\n");
return CURLE_OUT_OF_MEMORY;
}