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