X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcommon%2Futils.c;h=b640b950e7e3d88ac95a966d60e76acaa1a88121;hb=8bf28e6702eaffc5a3314ba0f7d10c76e59cd289;hp=bf93386c46147eca75e33c59a13b9f8214f49ba4;hpb=fbb9748b6dc509542c4a82960da36d7b03a3a66b;p=lttng-tools.git diff --git a/src/common/utils.c b/src/common/utils.c index bf93386c4..b640b950e 100644 --- a/src/common/utils.c +++ b/src/common/utils.c @@ -822,11 +822,28 @@ LTTNG_HIDDEN char *utils_get_home_dir(void) { char *val = NULL; + struct passwd *pwd; + val = getenv(DEFAULT_LTTNG_HOME_ENV_VAR); if (val != NULL) { - return val; + goto end; + } + val = getenv(DEFAULT_LTTNG_FALLBACK_HOME_ENV_VAR); + if (val != NULL) { + goto end; } - return getenv(DEFAULT_LTTNG_FALLBACK_HOME_ENV_VAR); + + /* Fallback on the password file entry. */ + pwd = getpwuid(getuid()); + if (!pwd) { + goto end; + } + val = pwd->pw_dir; + + DBG3("Home directory is '%s'", val); + +end: + return val; } /**