diff options
Diffstat (limited to 'src/firejail/sandbox.c')
-rw-r--r-- | src/firejail/sandbox.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/firejail/sandbox.c b/src/firejail/sandbox.c index 3942e4da6..e3c95283d 100644 --- a/src/firejail/sandbox.c +++ b/src/firejail/sandbox.c | |||
@@ -260,6 +260,7 @@ void start_audit(void) { | |||
260 | char *audit_prog; | 260 | char *audit_prog; |
261 | if (asprintf(&audit_prog, "%s/firejail/faudit", LIBDIR) == -1) | 261 | if (asprintf(&audit_prog, "%s/firejail/faudit", LIBDIR) == -1) |
262 | errExit("asprintf"); | 262 | errExit("asprintf"); |
263 | assert(getenv("LD_PRELOAD") == NULL); | ||
263 | execl(audit_prog, audit_prog, NULL); | 264 | execl(audit_prog, audit_prog, NULL); |
264 | perror("execl"); | 265 | perror("execl"); |
265 | exit(1); | 266 | exit(1); |
@@ -268,6 +269,15 @@ void start_audit(void) { | |||
268 | void start_application(void) { | 269 | void start_application(void) { |
269 | //if (setsid() == -1) | 270 | //if (setsid() == -1) |
270 | //errExit("setsid"); | 271 | //errExit("setsid"); |
272 | |||
273 | // set environment | ||
274 | env_defaults(); | ||
275 | env_apply(); | ||
276 | if (arg_debug) { | ||
277 | printf("starting application\n"); | ||
278 | printf("LD_PRELOAD=%s\n", getenv("LD_PRELOAD")); | ||
279 | } | ||
280 | |||
271 | //**************************************** | 281 | //**************************************** |
272 | // audit | 282 | // audit |
273 | //**************************************** | 283 | //**************************************** |
@@ -787,12 +797,6 @@ assert(0); | |||
787 | } | 797 | } |
788 | } | 798 | } |
789 | 799 | ||
790 | // set environment | ||
791 | env_defaults(); | ||
792 | |||
793 | // set user-supplied environment variables | ||
794 | env_apply(); | ||
795 | |||
796 | // set nice | 800 | // set nice |
797 | if (arg_nice) { | 801 | if (arg_nice) { |
798 | errno = 0; | 802 | errno = 0; |