src: rename curlx_safefree to tool_safefree

It is not part of the curlx function collection, just a macro that might
as well be a local version.

Closes #17270
This commit is contained in:
Daniel Stenberg 2025-05-07 11:36:50 +02:00
parent e522f47986
commit d689bd915e
No known key found for this signature in database
GPG key ID: 5CC908FDB71E12C2
13 changed files with 140 additions and 139 deletions

View file

@ -67,6 +67,4 @@
#include "../curl_get_line.h"
#define curlx_safefree(x) Curl_safefree(x)
#endif /* HEADER_CURL_CURLX_H */

View file

@ -351,7 +351,7 @@ static char *parse_filename(const char *ptr, size_t len)
if(q) {
p = q + 1;
if(!*p) {
curlx_safefree(copy);
tool_safefree(copy);
return NULL;
}
}
@ -363,7 +363,7 @@ static char *parse_filename(const char *ptr, size_t len)
if(q) {
p = q + 1;
if(!*p) {
curlx_safefree(copy);
tool_safefree(copy);
return NULL;
}
}
@ -384,7 +384,7 @@ static char *parse_filename(const char *ptr, size_t len)
{
char *sanitized;
SANITIZEcode sc = sanitize_file_name(&sanitized, copy, 0);
curlx_safefree(copy);
tool_safefree(copy);
if(sc)
return NULL;
copy = sanitized;

View file

@ -53,57 +53,57 @@ static void free_config_fields(struct OperationConfig *config)
{
struct getout *urlnode;
curlx_safefree(config->useragent);
curlx_safefree(config->altsvc);
curlx_safefree(config->hsts);
curlx_safefree(config->haproxy_clientip);
tool_safefree(config->useragent);
tool_safefree(config->altsvc);
tool_safefree(config->hsts);
tool_safefree(config->haproxy_clientip);
curl_slist_free_all(config->cookies);
curlx_safefree(config->cookiejar);
tool_safefree(config->cookiejar);
curl_slist_free_all(config->cookiefiles);
curlx_dyn_free(&config->postdata);
curlx_safefree(config->query);
curlx_safefree(config->referer);
tool_safefree(config->query);
tool_safefree(config->referer);
curlx_safefree(config->headerfile);
curlx_safefree(config->ftpport);
curlx_safefree(config->iface);
tool_safefree(config->headerfile);
tool_safefree(config->ftpport);
tool_safefree(config->iface);
curlx_safefree(config->range);
tool_safefree(config->range);
curlx_safefree(config->userpwd);
curlx_safefree(config->tls_username);
curlx_safefree(config->tls_password);
curlx_safefree(config->tls_authtype);
curlx_safefree(config->proxy_tls_username);
curlx_safefree(config->proxy_tls_password);
curlx_safefree(config->proxy_tls_authtype);
curlx_safefree(config->proxyuserpwd);
curlx_safefree(config->proxy);
tool_safefree(config->userpwd);
tool_safefree(config->tls_username);
tool_safefree(config->tls_password);
tool_safefree(config->tls_authtype);
tool_safefree(config->proxy_tls_username);
tool_safefree(config->proxy_tls_password);
tool_safefree(config->proxy_tls_authtype);
tool_safefree(config->proxyuserpwd);
tool_safefree(config->proxy);
curlx_safefree(config->dns_ipv6_addr);
curlx_safefree(config->dns_ipv4_addr);
curlx_safefree(config->dns_interface);
curlx_safefree(config->dns_servers);
tool_safefree(config->dns_ipv6_addr);
tool_safefree(config->dns_ipv4_addr);
tool_safefree(config->dns_interface);
tool_safefree(config->dns_servers);
curlx_safefree(config->noproxy);
tool_safefree(config->noproxy);
curlx_safefree(config->mail_from);
tool_safefree(config->mail_from);
curl_slist_free_all(config->mail_rcpt);
curlx_safefree(config->mail_auth);
tool_safefree(config->mail_auth);
curlx_safefree(config->netrc_file);
curlx_safefree(config->output_dir);
curlx_safefree(config->proto_str);
curlx_safefree(config->proto_redir_str);
tool_safefree(config->netrc_file);
tool_safefree(config->output_dir);
tool_safefree(config->proto_str);
tool_safefree(config->proto_redir_str);
urlnode = config->url_list;
while(urlnode) {
struct getout *next = urlnode->next;
curlx_safefree(urlnode->url);
curlx_safefree(urlnode->outfile);
curlx_safefree(urlnode->infile);
curlx_safefree(urlnode);
tool_safefree(urlnode->url);
tool_safefree(urlnode->outfile);
tool_safefree(urlnode->infile);
tool_safefree(urlnode);
urlnode = next;
}
config->url_list = NULL;
@ -112,47 +112,47 @@ static void free_config_fields(struct OperationConfig *config)
config->url_out = NULL;
#ifndef CURL_DISABLE_IPFS
curlx_safefree(config->ipfs_gateway);
tool_safefree(config->ipfs_gateway);
#endif /* !CURL_DISABLE_IPFS */
curlx_safefree(config->doh_url);
curlx_safefree(config->cipher_list);
curlx_safefree(config->proxy_cipher_list);
curlx_safefree(config->cipher13_list);
curlx_safefree(config->proxy_cipher13_list);
curlx_safefree(config->cert);
curlx_safefree(config->proxy_cert);
curlx_safefree(config->cert_type);
curlx_safefree(config->proxy_cert_type);
curlx_safefree(config->cacert);
curlx_safefree(config->login_options);
curlx_safefree(config->proxy_cacert);
curlx_safefree(config->capath);
curlx_safefree(config->proxy_capath);
curlx_safefree(config->crlfile);
curlx_safefree(config->pinnedpubkey);
curlx_safefree(config->proxy_pinnedpubkey);
curlx_safefree(config->proxy_crlfile);
curlx_safefree(config->key);
curlx_safefree(config->proxy_key);
curlx_safefree(config->key_type);
curlx_safefree(config->proxy_key_type);
curlx_safefree(config->key_passwd);
curlx_safefree(config->proxy_key_passwd);
curlx_safefree(config->pubkey);
curlx_safefree(config->hostpubmd5);
curlx_safefree(config->hostpubsha256);
curlx_safefree(config->engine);
curlx_safefree(config->etag_save_file);
curlx_safefree(config->etag_compare_file);
curlx_safefree(config->ssl_ec_curves);
curlx_safefree(config->request_target);
curlx_safefree(config->customrequest);
curlx_safefree(config->krblevel);
curlx_safefree(config->oauth_bearer);
curlx_safefree(config->sasl_authzid);
curlx_safefree(config->unix_socket_path);
curlx_safefree(config->writeout);
curlx_safefree(config->proto_default);
tool_safefree(config->doh_url);
tool_safefree(config->cipher_list);
tool_safefree(config->proxy_cipher_list);
tool_safefree(config->cipher13_list);
tool_safefree(config->proxy_cipher13_list);
tool_safefree(config->cert);
tool_safefree(config->proxy_cert);
tool_safefree(config->cert_type);
tool_safefree(config->proxy_cert_type);
tool_safefree(config->cacert);
tool_safefree(config->login_options);
tool_safefree(config->proxy_cacert);
tool_safefree(config->capath);
tool_safefree(config->proxy_capath);
tool_safefree(config->crlfile);
tool_safefree(config->pinnedpubkey);
tool_safefree(config->proxy_pinnedpubkey);
tool_safefree(config->proxy_crlfile);
tool_safefree(config->key);
tool_safefree(config->proxy_key);
tool_safefree(config->key_type);
tool_safefree(config->proxy_key_type);
tool_safefree(config->key_passwd);
tool_safefree(config->proxy_key_passwd);
tool_safefree(config->pubkey);
tool_safefree(config->hostpubmd5);
tool_safefree(config->hostpubsha256);
tool_safefree(config->engine);
tool_safefree(config->etag_save_file);
tool_safefree(config->etag_compare_file);
tool_safefree(config->ssl_ec_curves);
tool_safefree(config->request_target);
tool_safefree(config->customrequest);
tool_safefree(config->krblevel);
tool_safefree(config->oauth_bearer);
tool_safefree(config->sasl_authzid);
tool_safefree(config->unix_socket_path);
tool_safefree(config->writeout);
tool_safefree(config->proto_default);
curl_slist_free_all(config->quote);
curl_slist_free_all(config->postquote);
@ -171,17 +171,17 @@ static void free_config_fields(struct OperationConfig *config)
curl_slist_free_all(config->resolve);
curl_slist_free_all(config->connect_to);
curlx_safefree(config->preproxy);
curlx_safefree(config->proxy_service_name);
curlx_safefree(config->service_name);
curlx_safefree(config->ftp_account);
curlx_safefree(config->ftp_alternative_to_user);
curlx_safefree(config->aws_sigv4);
curlx_safefree(config->proto_str);
curlx_safefree(config->proto_redir_str);
curlx_safefree(config->ech);
curlx_safefree(config->ech_config);
curlx_safefree(config->ech_public);
tool_safefree(config->preproxy);
tool_safefree(config->proxy_service_name);
tool_safefree(config->service_name);
tool_safefree(config->ftp_account);
tool_safefree(config->ftp_alternative_to_user);
tool_safefree(config->aws_sigv4);
tool_safefree(config->proto_str);
tool_safefree(config->proto_redir_str);
tool_safefree(config->ech);
tool_safefree(config->ech_config);
tool_safefree(config->ech_public);
}
void config_free(struct OperationConfig *config)

View file

@ -59,6 +59,9 @@
#define checkprefix(a,b) curl_strnequal(b, STRCONST(a))
#define tool_safefree(ptr) \
do { free((ptr)); (ptr) = NULL;} while(0)
struct GlobalConfig;
struct State {

View file

@ -594,7 +594,7 @@ CURLcode FindWin32CACert(struct OperationConfig *config,
res_len = SearchPath(NULL, bundle_file, NULL, PATH_MAX, buf, &ptr);
if(res_len > 0) {
char *mstr = curlx_convert_tchar_to_UTF8(buf);
curlx_safefree(config->cacert);
tool_safefree(config->cacert);
if(mstr)
config->cacert = strdup(mstr);
curlx_unicodefree(mstr);

View file

@ -169,7 +169,7 @@ static struct tool_mime *tool_mime_new_filedata(struct tool_mime *parent,
}
m = tool_mime_new(parent, TOOLMIME_STDIN);
if(!m)
curlx_safefree(data);
tool_safefree(data);
else {
m->data = data;
m->origin = origin;
@ -190,11 +190,11 @@ void tool_mime_free(struct tool_mime *mime)
tool_mime_free(mime->subparts);
if(mime->prev)
tool_mime_free(mime->prev);
curlx_safefree(mime->name);
curlx_safefree(mime->filename);
curlx_safefree(mime->type);
curlx_safefree(mime->encoder);
curlx_safefree(mime->data);
tool_safefree(mime->name);
tool_safefree(mime->filename);
tool_safefree(mime->type);
tool_safefree(mime->encoder);
tool_safefree(mime->data);
curl_slist_free_all(mime->headers);
free(mime);
}
@ -836,7 +836,7 @@ int formparse(struct OperationConfig *config,
"error while reading standard input");
goto fail;
}
curlx_safefree(part->data);
tool_safefree(part->data);
part->size = -1;
res = CURLE_OK;
}
@ -872,7 +872,7 @@ int formparse(struct OperationConfig *config,
"error while reading standard input");
goto fail;
}
curlx_safefree(part->data);
tool_safefree(part->data);
part->size = -1;
res = CURLE_OK;
}
@ -914,7 +914,7 @@ int formparse(struct OperationConfig *config,
}
err = 0;
fail:
curlx_safefree(contents);
tool_safefree(contents);
curl_slist_free_all(headers);
return err;
}

View file

@ -659,7 +659,7 @@ static ParameterError data_urlencode(struct GlobalConfig *global,
}
else {
char *enc = curl_easy_escape(NULL, postdata, (int)size);
curlx_safefree(postdata); /* no matter if it worked or not */
tool_safefree(postdata); /* no matter if it worked or not */
if(enc) {
char *n;
replace_url_encoded_space_by_plus(enc);
@ -953,7 +953,7 @@ static ParameterError set_data(cmdline_t cmd,
if(!err && curlx_dyn_addn(&config->postdata, postdata, size))
err = PARAM_NO_MEM;
curlx_safefree(postdata);
tool_safefree(postdata);
config->postfields = curlx_dyn_ptr(&config->postdata);
return err;
@ -1553,7 +1553,7 @@ static ParameterError parse_writeout(struct GlobalConfig *global,
return PARAM_READ_ERROR;
}
}
curlx_safefree(config->writeout);
tool_safefree(config->writeout);
err = file2string(&config->writeout, file);
if(file && (file != stdin))
fclose(file);
@ -1862,7 +1862,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
err = getstr(&config->doh_url, nextarg, ALLOW_BLANK);
if(!err && config->doh_url && !config->doh_url[0])
/* if given a blank string, make it NULL again */
curlx_safefree(config->doh_url);
tool_safefree(config->doh_url);
break;
case C_CIPHERS: /* -- ciphers */
err = getstr(&config->cipher_list, nextarg, DENY_BLANK);
@ -2051,7 +2051,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
a->lname);
break;
case C_FTP_PASV: /* --ftp-pasv */
curlx_safefree(config->ftpport);
tool_safefree(config->ftpport);
break;
case C_SOCKS5: /* --socks5 */
/* socks5 proxy to use, and resolves the name locally and passes on the

View file

@ -41,11 +41,11 @@ static CURLcode ensure_trailing_slash(char **input)
curlx_dyn_init(&dyn, len + 2);
if(curlx_dyn_addn(&dyn, *input, len)) {
curlx_safefree(*input);
tool_safefree(*input);
return CURLE_OUT_OF_MEMORY;
}
curlx_safefree(*input);
tool_safefree(*input);
if(curlx_dyn_addn(&dyn, "/", 1))
return CURLE_OUT_OF_MEMORY;
@ -90,7 +90,7 @@ static char *ipfs_gateway(void)
goto fail;
gateway_file = fopen(gateway_composed_file_path, FOPEN_READTEXT);
curlx_safefree(gateway_composed_file_path);
tool_safefree(gateway_composed_file_path);
if(gateway_file) {
int c;
@ -116,15 +116,15 @@ static char *ipfs_gateway(void)
if(!gateway)
goto fail;
curlx_safefree(ipfs_path);
tool_safefree(ipfs_path);
return gateway;
}
fail:
if(gateway_file)
fclose(gateway_file);
curlx_safefree(gateway);
curlx_safefree(ipfs_path);
tool_safefree(gateway);
tool_safefree(ipfs_path);
return NULL;
}
@ -245,7 +245,7 @@ CURLcode ipfs_url_rewrite(CURLU *uh, const char *protocol, char **url,
}
/* Free whatever it has now, rewriting is next */
curlx_safefree(*url);
tool_safefree(*url);
if(curl_url_get(uh, CURLUPART_URL, &cloneurl, CURLU_URLENCODE)) {
goto clean;

View file

@ -197,13 +197,13 @@ static CURLcode main_init(struct GlobalConfig *config)
static void free_globalconfig(struct GlobalConfig *config)
{
curlx_safefree(config->trace_dump);
tool_safefree(config->trace_dump);
if(config->trace_fopened && config->trace_stream)
fclose(config->trace_stream);
config->trace_stream = NULL;
curlx_safefree(config->libcurl);
tool_safefree(config->libcurl);
}
/*

View file

@ -424,8 +424,8 @@ void single_transfer_cleanup(struct OperationConfig *config)
struct State *state = &config->state;
/* Free list of remaining URLs */
glob_cleanup(&state->urls);
curlx_safefree(state->outfiles);
curlx_safefree(state->uploadfile);
tool_safefree(state->outfiles);
tool_safefree(state->uploadfile);
/* Free list of globbed upload files */
glob_cleanup(&state->inglob);
}
@ -743,13 +743,13 @@ skip:
fclose(per->heads.stream);
if(per->heads.alloc_filename)
curlx_safefree(per->heads.filename);
tool_safefree(per->heads.filename);
if(per->etag_save.fopened && per->etag_save.stream)
fclose(per->etag_save.stream);
if(per->etag_save.alloc_filename)
curlx_safefree(per->etag_save.filename);
tool_safefree(per->etag_save.filename);
curl_easy_cleanup(per->curl);
if(outs->alloc_filename)
@ -1928,7 +1928,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
if((PARAM_OK == file2string(&etag_from_file, file)) &&
etag_from_file) {
header = aprintf("If-None-Match: %s", etag_from_file);
curlx_safefree(etag_from_file);
tool_safefree(etag_from_file);
}
else
header = aprintf("If-None-Match: \"\"");
@ -1944,7 +1944,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
/* add Etag from file to list of custom headers */
pe = add2list(&config->headers, header);
curlx_safefree(header);
tool_safefree(header);
if(file)
fclose(file);
@ -1967,7 +1967,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
if(!newfile) {
warnf(global, "Failed creating file for saving etags: \"%s\". "
"Skip this transfer", config->etag_save_file);
curlx_safefree(state->outfiles);
tool_safefree(state->outfiles);
glob_cleanup(&state->urls);
return CURLE_OK;
}
@ -2004,7 +2004,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
break;
}
if(SetHTTPrequest(config, TOOL_HTTPREQ_PUT, &config->httpreq)) {
curlx_safefree(per->uploadfile);
tool_safefree(per->uploadfile);
curl_easy_cleanup(curl);
result = CURLE_FAILED_INIT;
break;
@ -2127,7 +2127,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
/* fill '#1' ... '#9' terms from URL pattern */
char *storefile = per->outfile;
result = glob_match_url(&per->outfile, storefile, state->urls);
curlx_safefree(storefile);
tool_safefree(storefile);
if(result) {
/* bad globbing */
warnf(global, "bad output glob");
@ -2323,7 +2323,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
state->urlnum = 0; /* forced reglob of URLs */
glob_cleanup(&state->urls);
state->up++;
curlx_safefree(state->uploadfile); /* clear it to get the next */
tool_safefree(state->uploadfile); /* clear it to get the next */
}
}
else {
@ -2333,8 +2333,8 @@ static CURLcode single_transfer(struct GlobalConfig *global,
glob_cleanup(&state->urls);
state->urlnum = 0;
curlx_safefree(state->outfiles);
curlx_safefree(state->uploadfile);
tool_safefree(state->outfiles);
tool_safefree(state->uploadfile);
/* Free list of globbed upload files */
glob_cleanup(&state->inglob);
state->up = 0;
@ -2342,7 +2342,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
}
break;
}
curlx_safefree(state->outfiles);
tool_safefree(state->outfiles);
fail:
if(!*added || result) {
*added = FALSE;

View file

@ -39,10 +39,10 @@ void clean_getout(struct OperationConfig *config)
while(node) {
next = node->next;
curlx_safefree(node->url);
curlx_safefree(node->outfile);
curlx_safefree(node->infile);
curlx_safefree(node);
tool_safefree(node->url);
tool_safefree(node->outfile);
tool_safefree(node->infile);
tool_safefree(node);
node = next;
}
config->url_list = NULL;
@ -224,7 +224,7 @@ CURLcode get_url_file_name(struct GlobalConfig *global,
{
char *sanitized;
SANITIZEcode sc = sanitize_file_name(&sanitized, *filename, 0);
curlx_safefree(*filename);
tool_safefree(*filename);
if(sc) {
if(sc == SANITIZE_ERR_OUT_OF_MEMORY)
return CURLE_OUT_OF_MEMORY;

View file

@ -221,7 +221,7 @@ int parseconfig(const char *filename, struct GlobalConfig *global)
}
if(alloced_param)
curlx_safefree(param);
tool_safefree(param);
}
curlx_dyn_free(&buf);
if(file != stdin)

View file

@ -447,7 +447,7 @@ CURLcode glob_url(struct URLGlob **glob, char *url, curl_off_t *urlnum,
glob_expand = calloc(1, sizeof(struct URLGlob));
if(!glob_expand) {
curlx_safefree(glob_buffer);
tool_safefree(glob_buffer);
return CURLE_OUT_OF_MEMORY;
}
glob_expand->urllen = strlen(url);
@ -497,13 +497,13 @@ void glob_cleanup(struct URLGlob **globp)
for(elem = glob->pattern[i].content.Set.size - 1;
elem >= 0;
--elem) {
curlx_safefree(glob->pattern[i].content.Set.elements[elem]);
tool_safefree(glob->pattern[i].content.Set.elements[elem]);
}
curlx_safefree(glob->pattern[i].content.Set.elements);
tool_safefree(glob->pattern[i].content.Set.elements);
}
}
curlx_safefree(glob->glob_buffer);
curlx_safefree(glob);
tool_safefree(glob->glob_buffer);
tool_safefree(glob);
*globp = NULL;
}