Merge pull request #26349 from yuwata/safe-fork-rearrange-stdio

process-util: introduce FORK_REARRANGE_STDIO
This commit is contained in:
Luca Boccassi
2023-02-21 22:58:52 +00:00
committed by GitHub
20 changed files with 107 additions and 129 deletions
+4 -6
View File
@@ -994,7 +994,10 @@ int bus_socket_exec(sd_bus *b) {
if (r < 0)
return -errno;
r = safe_fork_full("(sd-busexec)", s+1, 1, FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS|FORK_RLIMIT_NOFILE_SAFE, &b->busexec_pid);
r = safe_fork_full("(sd-busexec)",
(int[]) { s[1], s[1], STDERR_FILENO },
NULL, 0,
FORK_RESET_SIGNALS|FORK_CLOSE_ALL_FDS|FORK_REARRANGE_STDIO|FORK_RLIMIT_NOFILE_SAFE, &b->busexec_pid);
if (r < 0) {
safe_close_pair(s);
return r;
@@ -1002,11 +1005,6 @@ int bus_socket_exec(sd_bus *b) {
if (r == 0) {
/* Child */
r = rearrange_stdio(s[1], s[1], STDERR_FILENO);
TAKE_FD(s[1]);
if (r < 0)
_exit(EXIT_FAILURE);
if (b->exec_argv)
execvp(b->exec_path, b->exec_argv);
else