From 2199b8e1adb3e9395e629da6a3b180d5e1ba15f0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 21 Jun 2008 13:55:52 +0200 Subject: Properly check for home directory --- src/pulsecore/core-util.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/pulsecore/core-util.c') diff --git a/src/pulsecore/core-util.c b/src/pulsecore/core-util.c index 32173522..d259fb16 100644 --- a/src/pulsecore/core-util.c +++ b/src/pulsecore/core-util.c @@ -1179,19 +1179,17 @@ static char *get_dir(mode_t m, const char *env_name) { return NULL; } - d = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h); - - if (stat(d, &st) < 0) { - pa_log_error("Failed to state home directory %s: %s", d, pa_cstrerror(errno)); - pa_xfree(d); + if (stat(h, &st) < 0) { + pa_log_error("Failed to stat home directory %s: %s", h, pa_cstrerror(errno)); return NULL; } if (st.st_uid != getuid()) { pa_log_error("Home directory %s not ours.", d); - pa_xfree(d); return NULL; } + + d = pa_sprintf_malloc("%s" PA_PATH_SEP ".pulse", h); } if (pa_make_secure_dir(d, m, (pid_t) -1, (pid_t) -1) < 0) { -- cgit