]> mj.ucw.cz Git - eval.git/commitdiff
Sandbox: call setup_environment() before enabling syscall tracing
authorMartin Mares <mj@ucw.cz>
Sat, 28 Mar 2009 16:05:55 +0000 (17:05 +0100)
committerMartin Mares <mj@ucw.cz>
Sat, 28 Mar 2009 16:05:55 +0000 (17:05 +0100)
box/box.c

index ca2a292bbb3d2793e965b0ae1b5ea307e432c575..da7dfc1b83ca4e3cfbb7c34d734037db2973e47a 100644 (file)
--- a/box/box.c
+++ b/box/box.c
@@ -1001,6 +1001,7 @@ box_inside(int argc, char **argv)
   rl.rlim_cur = rl.rlim_max = 64;
   if (setrlimit(RLIMIT_NOFILE, &rl) < 0)
     die("setrlimit: %m");
+  char **env = setup_environment();
   if (filter_syscalls)
     {
       if (ptrace(PTRACE_TRACEME) < 0)
@@ -1009,7 +1010,7 @@ box_inside(int argc, char **argv)
       signal(SIGCHLD, SIG_IGN);
       raise(SIGCHLD);
     }
-  execve(args[0], args, setup_environment());
+  execve(args[0], args, env);
   die("execve(\"%s\"): %m", args[0]);
 }