aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllen Webb <allenwebb@google.com>2022-03-21 18:09:35 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-03-21 18:09:35 +0000
commit0fa8d7014b0dd9dc2bed8c01837a263b404a72ee (patch)
treef74ab1d48e2f18d65348c06014c4fa138e1857ab
parent8c817617752eee19a0fa61c433ca6ad426606bc6 (diff)
parente564e85bec97725a7a243d82b4bd83d931257fd4 (diff)
downloadminijail-0fa8d7014b0dd9dc2bed8c01837a263b404a72ee.tar.gz
libminijail: Set the controlling tty if appropriate. am: f486e262fa am: c4dbc7cde8 am: e564e85bec
Original change: https://android-review.googlesource.com/c/platform/external/minijail/+/2032023 Change-Id: I35eeec3647aa5c326a3f8b86e7a4fb5ed5f94e77
-rw-r--r--libminijail.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/libminijail.c b/libminijail.c
index ea59404..aab1294 100644
--- a/libminijail.c
+++ b/libminijail.c
@@ -2889,6 +2889,12 @@ static void setup_child_std_fds(struct minijail *j,
if (setsid() < 0) {
pdie("setsid() failed");
}
+
+ if (isatty(STDIN_FILENO)) {
+ if (ioctl(STDIN_FILENO, TIOCSCTTY, 0) != 0) {
+ pwarn("failed to set controlling terminal");
+ }
+ }
}
}
@@ -2943,12 +2949,12 @@ int API minijail_run_env(struct minijail *j, const char *filename,
char *const argv[], char *const envp[])
{
struct minijail_run_config config = {
- .filename = filename,
- .elf_fd = -1,
- .argv = argv,
- .envp = envp,
- .use_preload = true,
- .exec_in_child = true,
+ .filename = filename,
+ .elf_fd = -1,
+ .argv = argv,
+ .envp = envp,
+ .use_preload = true,
+ .exec_in_child = true,
};
return minijail_run_config_internal(j, &config);
}