diff options
Diffstat (limited to 'src/firejail/join.c')
-rw-r--r-- | src/firejail/join.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/firejail/join.c b/src/firejail/join.c index c303d3fb8..d4a2389c6 100644 --- a/src/firejail/join.c +++ b/src/firejail/join.c | |||
@@ -292,6 +292,8 @@ void join(pid_t pid, int argc, char **argv, int index) { | |||
292 | } | 292 | } |
293 | 293 | ||
294 | prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); // kill the child in case the parent died | 294 | prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); // kill the child in case the parent died |
295 | |||
296 | EUID_USER(); | ||
295 | if (chdir("/") < 0) | 297 | if (chdir("/") < 0) |
296 | errExit("chdir"); | 298 | errExit("chdir"); |
297 | if (homedir) { | 299 | if (homedir) { |
@@ -308,6 +310,7 @@ void join(pid_t pid, int argc, char **argv, int index) { | |||
308 | set_cpu_affinity(); | 310 | set_cpu_affinity(); |
309 | 311 | ||
310 | // set caps filter | 312 | // set caps filter |
313 | EUID_ROOT(); | ||
311 | if (apply_caps == 1) // not available for uid 0 | 314 | if (apply_caps == 1) // not available for uid 0 |
312 | caps_set(caps); | 315 | caps_set(caps); |
313 | #ifdef HAVE_SECCOMP | 316 | #ifdef HAVE_SECCOMP |
@@ -347,6 +350,8 @@ void join(pid_t pid, int argc, char **argv, int index) { | |||
347 | } | 350 | } |
348 | 351 | ||
349 | // set environment, add x11 display | 352 | // set environment, add x11 display |
353 | EUID_USER(); | ||
354 | |||
350 | env_defaults(); | 355 | env_defaults(); |
351 | if (display) { | 356 | if (display) { |
352 | char *display_str; | 357 | char *display_str; |