From f0ace1655db51278da005bfe08660f00ca601f2c Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 3 Dec 2024 18:58:11 +0900 Subject: [PATCH] exec-util: use open_terminal() in fork_agent() for safety --- src/shared/exec-util.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/shared/exec-util.c b/src/shared/exec-util.c index 725962ef83c..6ab32bea920 100644 --- a/src/shared/exec-util.c +++ b/src/shared/exec-util.c @@ -594,9 +594,9 @@ int _fork_agent(const char *name, const int except[], size_t n_except, pid_t *re * that when systemctl is started via popen() or a similar call that expects to read EOF we * actually do generate EOF and not delay this indefinitely by keeping an unused copy of * stdin around. */ - fd = open("/dev/tty", stdin_is_tty ? O_WRONLY : (stdout_is_tty && stderr_is_tty) ? O_RDONLY : O_RDWR); + fd = open_terminal("/dev/tty", stdin_is_tty ? O_WRONLY : (stdout_is_tty && stderr_is_tty) ? O_RDONLY : O_RDWR); if (fd < 0) { - log_error_errno(errno, "Failed to open /dev/tty: %m"); + log_error_errno(fd, "Failed to open /dev/tty: %m"); _exit(EXIT_FAILURE); } -- 2.47.3