diff options
author | Koichiro IWAO <meta@vmeta.jp> | 2017-09-15 05:35:13 +0300 |
---|---|---|
committer | Koichiro IWAO <meta@vmeta.jp> | 2017-09-15 05:35:13 +0300 |
commit | 4a95e330668de43fecda56d72c2aeccee914e1b3 (patch) | |
tree | 11d896a10f06ec2ab19537db57eeae5784324b33 | |
parent | 75102f3016cd53f08e37207403ef2d65b1b719d6 (diff) |
Fix settings->home_path leak
Imported from: https://github.com/awakecoding/FreeRDP/commit/26492f1cc738a4593d6640102157c3903721e30d
-rw-r--r-- | libfreerdp-core/settings.c | 1 | ||||
-rw-r--r-- | libfreerdp-utils/file.c | 9 |
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; } |