pager: let's create pager fds with O_CLOEXEC first
We make copies (without O_CLOEXEC) of the fds anyway before using them, hence let's be safe and create them with O_CLOEXEC first, so that we don't run into issues should pager_open() be called in a threaded environment where another thread fork()s at the wrong time and ends up with fds not marked O_CLOEXEC.
This commit is contained in:
parent
dea374e898
commit
d262e99e39
|
@ -84,7 +84,7 @@ int pager_open(bool no_pager, bool jump_to_end) {
|
|||
* pager so that we get the value from the actual tty */
|
||||
(void) columns();
|
||||
|
||||
if (pipe(fd) < 0)
|
||||
if (pipe2(fd, O_CLOEXEC) < 0)
|
||||
return log_error_errno(errno, "Failed to create pager pipe: %m");
|
||||
|
||||
parent_pid = getpid_cached();
|
||||
|
|
Loading…
Reference in a new issue