diff options
Diffstat (limited to 'src/daemon/main.c')
-rw-r--r-- | src/daemon/main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/daemon/main.c b/src/daemon/main.c index 936c214d..5f94ec66 100644 --- a/src/daemon/main.c +++ b/src/daemon/main.c @@ -348,7 +348,6 @@ int main(int argc, char *argv[]) { pa_time_event *win32_timer; struct timeval win32_tv; #endif - char *lf = NULL; int autospawn_fd = -1; pa_bool_t autospawn_locked = FALSE; @@ -369,8 +368,11 @@ int main(int argc, char *argv[]) { * value of $LD_BIND_NOW on initialization. */ pa_set_env("LD_BIND_NOW", "1"); - pa_assert_se(rp = pa_readlink("/proc/self/exe")); - pa_assert_se(execv(rp, argv) == 0); + + if ((rp = pa_readlink("/proc/self/exe"))) + pa_assert_se(execv(rp, argv) == 0); + else + pa_log_warn("Couldn't read /proc/self/exe, cannot self execute. Running in a chroot()?"); } #endif @@ -997,9 +999,6 @@ finish: pa_autospawn_lock_done(FALSE); } - if (lf) - pa_xfree(lf); - #ifdef OS_IS_WIN32 if (win32_timer) pa_mainloop_get_api(mainloop)->time_free(win32_timer); |