chiark / gitweb /
util: always enforce O_NOCTTY and O_CLOEXEC in openpt_in_namespace()
authorLennart Poettering <lennart@poettering.net>
Wed, 7 Oct 2015 18:08:49 +0000 (20:08 +0200)
committerSven Eden <yamakuzure@gmx.net>
Wed, 26 Apr 2017 10:58:55 +0000 (12:58 +0200)
The child process is shortliving, hence always set O_NOCTTY so that the
tty doesn't quickly become controlling TTY and then gives it up again.
Also set O_CLOEXEC, because it's cleaner, and doesn't affect the parent
anyway.

src/basic/util.c

index 97a07b93c3139d4a2f88b1aa8baec75b376e0a9c..1b0f21604570421fc15e505262a41675cefdfb67 100644 (file)
@@ -6237,7 +6237,7 @@ int openpt_in_namespace(pid_t pid, int flags) {
                 if (r < 0)
                         _exit(EXIT_FAILURE);
 
-                master = posix_openpt(flags);
+                master = posix_openpt(flags|O_NOCTTY|O_CLOEXEC);
                 if (master < 0)
                         _exit(EXIT_FAILURE);