Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/neutrinolabs/NeutrinoRDP.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoichiro IWAO <meta@vmeta.jp>2017-09-15 05:35:13 +0300
committerKoichiro IWAO <meta@vmeta.jp>2017-09-15 05:35:13 +0300
commit4a95e330668de43fecda56d72c2aeccee914e1b3 (patch)
tree11d896a10f06ec2ab19537db57eeae5784324b33
parent75102f3016cd53f08e37207403ef2d65b1b719d6 (diff)
Fix settings->home_path leak
Imported from: https://github.com/awakecoding/FreeRDP/commit/26492f1cc738a4593d6640102157c3903721e30d
-rw-r--r--libfreerdp-core/settings.c1
-rw-r--r--libfreerdp-utils/file.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/libfreerdp-core/settings.c b/libfreerdp-core/settings.c
index 03b227c..b19c143 100644
--- a/libfreerdp-core/settings.c
+++ b/libfreerdp-core/settings.c
@@ -211,6 +211,7 @@ void settings_free(rdpSettings* settings)
key_free(settings->server_key);
xfree(settings->config_path);
xfree(settings->current_path);
+ xfree(settings->home_path);
xfree(settings->development_path);
xfree(settings);
}
diff --git a/libfreerdp-utils/file.c b/libfreerdp-utils/file.c
index 9ac0da4..f350b50 100644
--- a/libfreerdp-utils/file.c
+++ b/libfreerdp-utils/file.c
@@ -80,8 +80,15 @@ tbool freerdp_check_file_exists(char* file)
char* freerdp_get_home_path(rdpSettings* settings)
{
+ char* home_env = NULL;
+
if (settings->home_path == NULL)
- settings->home_path = getenv(HOME_ENV_VARIABLE);
+ {
+ home_env = getenv(HOME_ENV_VARIABLE);
+
+ if (home_env)
+ settings->home_path = xstrdup(home_env);
+ }
return settings->home_path;
}