aboutsummaryrefslogtreecommitdiffstats
path: root/guts
diff options
context:
space:
mode:
Diffstat (limited to 'guts')
-rw-r--r--guts/clone.c4
-rw-r--r--guts/execv.c4
-rw-r--r--guts/execve.c4
-rw-r--r--guts/execvp.c4
-rw-r--r--guts/fork.c2
5 files changed, 12 insertions, 6 deletions
diff --git a/guts/clone.c b/guts/clone.c
index 61c8bf9..8299c54 100644
--- a/guts/clone.c
+++ b/guts/clone.c
@@ -14,8 +14,8 @@
pseudo_debug(1, "client resetting for clone(2) call\n");
if (real_clone) {
if (!pseudo_get_value("PSEUDO_RELOADED")) {
- pseudo_setupenv();
- pseudo_client_reinit();
+ pseudo_setupenv();
+ pseudo_reinit_libpseudo();
} else {
pseudo_setupenv();
pseudo_dropenv();
diff --git a/guts/execv.c b/guts/execv.c
index cc37e0a..a72556b 100644
--- a/guts/execv.c
+++ b/guts/execv.c
@@ -12,7 +12,9 @@
* <CHROOT>/bin/sh. This allows use of basic utilities. This
* design will likely be revisited.
*/
- pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ if (antimagic == 0) {
+ pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ }
if (!pseudo_get_value("PSEUDO_RELOADED"))
pseudo_setupenv();
diff --git a/guts/execve.c b/guts/execve.c
index febcf80..fafc154 100644
--- a/guts/execve.c
+++ b/guts/execve.c
@@ -13,7 +13,9 @@
* <CHROOT>/bin/sh. This allows use of basic utilities. This
* design will likely be revisited.
*/
- pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ if (antimagic == 0) {
+ pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ }
if (!pseudo_get_value("PSEUDO_RELOADED"))
new_environ = pseudo_setupenvp(envp);
diff --git a/guts/execvp.c b/guts/execvp.c
index 67eaff0..a3ce05b 100644
--- a/guts/execvp.c
+++ b/guts/execvp.c
@@ -13,7 +13,9 @@
* <CHROOT>/bin/sh. This allows use of basic utilities. This
* design will likely be revisited.
*/
- pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ if (antimagic == 0) {
+ pseudo_client_op(OP_EXEC, PSA_EXEC, -1, -1, file, 0);
+ }
if (!pseudo_get_value("PSEUDO_RELOADED"))
pseudo_setupenv();
diff --git a/guts/fork.c b/guts/fork.c
index 8febd13..b7fd239 100644
--- a/guts/fork.c
+++ b/guts/fork.c
@@ -14,7 +14,7 @@
if (rc == 0) {
if (!pseudo_get_value("PSEUDO_RELOADED")) {
pseudo_setupenv();
- pseudo_client_reinit();
+ pseudo_reinit_libpseudo();
} else {
pseudo_setupenv();
pseudo_dropenv();