diff options
author | Daniel Mack <daniel@caiaq.de> | 2009-10-31 02:16:14 +0100 |
---|---|---|
committer | Daniel Mack <daniel@caiaq.de> | 2009-10-31 02:16:14 +0100 |
commit | c4e276edbd84cbb8c5b594c9f427b0a25a7fb2ab (patch) | |
tree | 55c0d0f8e378e5e6fe203b250a816ea4d2d75ccb /src/daemon/main.c | |
parent | 9c61465c796f3369c7cc57c094489fb383216a1b (diff) | |
parent | 2dc37e1214f20aab528ae680e9a85fc8ea143313 (diff) |
Merge branch 'master' of git://0pointer.de/pulseaudio
Diffstat (limited to 'src/daemon/main.c')
-rw-r--r-- | src/daemon/main.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index 9e5647a8..c73e9afc 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -425,21 +425,24 @@ int main(int argc, char *argv[]) { pa_set_env("LD_BIND_NOW", "1"); - canonical_rp = pa_realpath(PA_BINARY); + if ((canonical_rp = pa_realpath(PA_BINARY))) { - if ((rp = pa_readlink("/proc/self/exe"))) { + if ((rp = pa_readlink("/proc/self/exe"))) { - if (pa_streq(rp, canonical_rp)) - pa_assert_se(execv(rp, argv) == 0); - else - pa_log_warn("/proc/self/exe does not point to %s, cannot self execute. Are you playing games?", canonical_rp); + if (pa_streq(rp, canonical_rp)) + pa_assert_se(execv(rp, argv) == 0); + else + pa_log_warn("/proc/self/exe does not point to %s, cannot self execute. Are you playing games?", canonical_rp); - pa_xfree(rp); + pa_xfree(rp); - } else - pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?"); + } else + pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?"); - pa_xfree(canonical_rp); + pa_xfree(canonical_rp); + + } else + pa_log_warn("Couldn't canonicalize binary path, cannot self execute."); } #endif |