From 8cf981ca12a295b605b2578cd4b347a08a80dee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Sun, 3 Nov 2019 01:14:02 +0100 Subject: [PATCH] slave: turn on FD_CLOEXEC after slave has been spawned This ensures that our ptmx FD isn't carried over to other terminals spawned later. --- slave.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/slave.c b/slave.c index 1f70a0d8..cc41f39a 100644 --- a/slave.c +++ b/slave.c @@ -127,6 +127,15 @@ slave_spawn(int ptmx, int argc, char *const *argv, return -1; } else LOG_DBG("%s: successfully started", conf_shell); + + int fd_flags; + if ((fd_flags = fcntl(ptmx, F_GETFD)) < 0 || + fcntl(ptmx, F_SETFD, fd_flags | FD_CLOEXEC) < 0) + { + LOG_ERRNO("failed to set FD_CLOEXEC on ptmx"); + return -1; + } + break; } }