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:
authorIdan Freiberg <speidy@gmail.com>2018-04-05 08:18:04 +0300
committerGitHub <noreply@github.com>2018-04-05 08:18:04 +0300
commitcc851942d9368eda89ec49841afddcb64713332f (patch)
tree3034d54b92a03468e841927621aff801f0d82555
parentc9477d1d987392a6e72cce22740f300c0831de17 (diff)
parent4a95e330668de43fecda56d72c2aeccee914e1b3 (diff)
Merge pull request #13 from metalefty/homepath-leak
Fix settings->home_path leak
-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 2c8fb2b..49e7cfa 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);
+ }
/* https://github.com/neutrinolabs/xrdp/issues/719 */
/* workaround if home_path still is null */