Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Mar 2026 08:56:35 +0000
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 945e60e018c2 - main - diff3: set O_CLOEXEC on pipes
Message-ID:  <69c797c3.228d1.4b34fa8c@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/src/commit/?id=945e60e018c287f8097f3ee4a30ccf4921845aa1

commit 945e60e018c287f8097f3ee4a30ccf4921845aa1
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2026-03-28 08:41:47 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2026-03-28 08:51:48 +0000

    diff3: set O_CLOEXEC on pipes
    
    This avoid leaking pipe fd in children and simplifies the code
    
    MFC After:      1 week
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D56120
---
 usr.bin/diff3/diff3.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/usr.bin/diff3/diff3.c b/usr.bin/diff3/diff3.c
index 8212b51e15a2..bbef1f0d21a5 100644
--- a/usr.bin/diff3/diff3.c
+++ b/usr.bin/diff3/diff3.c
@@ -317,10 +317,7 @@ diffexec(char **diffargv, int fd[])
 		errc(2, error, "posix_spawn_file_actions_init");
 
 	posix_spawnattr_setprocdescp_np(&sa, &pd, 0);
-
-	posix_spawn_file_actions_addclose(&fa, fd[0]);
 	posix_spawn_file_actions_adddup2(&fa, fd[1], STDOUT_FILENO);
-	posix_spawn_file_actions_addclose(&fa, fd[1]);
 
 	error = posix_spawn(&pid, diffargv[0], &fa, &sa, diffargv, environ);
 	if (error != 0)
@@ -1085,12 +1082,11 @@ main(int argc, char **argv)
 	if (caph_rights_limit(fileno(fp[2]), &rights_ro) < 0)
 		err(2, "unable to limit rights on: %s", file3);
 
-	if (pipe(fd13))
+	if (pipe2(fd13, O_CLOEXEC))
 		err(2, "pipe");
-	if (pipe(fd23))
+	if (pipe2(fd23, O_CLOEXEC))
 		err(2, "pipe");
 
-
 	diffargv[diffargc] = file1;
 	diffargv[diffargc + 1] = file3;
 	diffargv[diffargc + 2] = NULL;


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69c797c3.228d1.4b34fa8c>