mirror of
https://github.com/curl/curl.git
synced 2025-01-18 14:04:30 +08:00
tool_operate: fix memory mixups
Switch to plain getenv() from curl_getenv() to avoid the allocation and
having to keep track of which free() or curl_free() that need to be
used.
Coverity found issues and a memory leak.
Follow-up to 65b563a96a
Closes #11959
This commit is contained in:
parent
a7f8d04ee0
commit
93885cf3a8
@ -704,28 +704,31 @@ static char *ipfs_gateway(void)
|
||||
char *gateway_composed_file_path = NULL;
|
||||
FILE *gateway_file = NULL;
|
||||
|
||||
gateway = curlx_getenv("IPFS_GATEWAY");
|
||||
gateway = getenv("IPFS_GATEWAY");
|
||||
|
||||
/* Gateway is found from environment variable. */
|
||||
if(gateway && strlen(gateway)) {
|
||||
if(gateway && *gateway) {
|
||||
char *composed_gateway = NULL;
|
||||
bool add_slash = (gateway[strlen(gateway) - 1] == '/') ? FALSE : TRUE;
|
||||
bool add_slash = (gateway[strlen(gateway) - 1] != '/');
|
||||
composed_gateway = aprintf("%s%s", gateway, (add_slash) ? "/" : "");
|
||||
Curl_safefree(gateway);
|
||||
gateway = aprintf("%s", composed_gateway);
|
||||
Curl_safefree(composed_gateway);
|
||||
if(composed_gateway) {
|
||||
gateway = aprintf("%s", composed_gateway);
|
||||
Curl_safefree(composed_gateway);
|
||||
}
|
||||
return gateway;
|
||||
}
|
||||
else
|
||||
/* a blank string does not count */
|
||||
gateway = NULL;
|
||||
|
||||
/* Try to find the gateway in the IPFS data folder. */
|
||||
ipfs_path = curlx_getenv("IPFS_PATH");
|
||||
ipfs_path = getenv("IPFS_PATH");
|
||||
|
||||
if(!ipfs_path) {
|
||||
char *home = NULL;
|
||||
home = curlx_getenv("HOME");
|
||||
/* Empty path, fallback to "~/.ipfs", as that's the default location. */
|
||||
ipfs_path = aprintf("%s/.ipfs/", home);
|
||||
Curl_safefree(home);
|
||||
char *home = getenv("HOME");
|
||||
if(home && *home)
|
||||
ipfs_path = aprintf("%s/.ipfs/", home);
|
||||
/* fallback to "~/.ipfs", as that's the default location. */
|
||||
}
|
||||
|
||||
if(!ipfs_path) {
|
||||
@ -750,10 +753,7 @@ static char *ipfs_gateway(void)
|
||||
|
||||
if((PARAM_OK == file2string(&gateway_buffer, gateway_file)) &&
|
||||
gateway_buffer) {
|
||||
bool add_slash = (gateway_buffer[strlen(gateway_buffer) - 1] == '/')
|
||||
? FALSE
|
||||
: TRUE;
|
||||
|
||||
bool add_slash = (gateway_buffer[strlen(gateway_buffer) - 1] != '/');
|
||||
gateway = aprintf("%s%s", gateway_buffer, (add_slash) ? "/" : "");
|
||||
Curl_safefree(gateway_buffer);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user