From 107a1b541dd060f49db044e52ff30f98e8db6eff Mon Sep 17 00:00:00 2001 From: bapt Date: Sat, 23 Apr 2016 10:10:29 +0000 Subject: [PATCH] MFC: 298112 Directly set the O_CLOEXEC flags via the open(2) attributes Sponsored by: Essen Hackathon git-svn-id: svn://svn.freebsd.org/base/stable/10@298510 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- usr.bin/script/script.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/usr.bin/script/script.c b/usr.bin/script/script.c index 82a9b2e0f..24ee4b0c9 100644 --- a/usr.bin/script/script.c +++ b/usr.bin/script/script.c @@ -158,17 +158,14 @@ main(int argc, char *argv[]) asprintf(&fmfname, "%s.filemon", fname); if (!fmfname) err(1, "%s.filemon", fname); - if ((fm_fd = open("/dev/filemon", O_RDWR)) == -1) + if ((fm_fd = open("/dev/filemon", O_RDWR | O_CLOEXEC)) == -1) err(1, "open(\"/dev/filemon\", O_RDWR)"); - if ((fm_log = open(fmfname, O_WRONLY | O_CREAT | O_TRUNC, + if ((fm_log = open(fmfname, + O_WRONLY | O_CREAT | O_TRUNC | O_CLOEXEC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) == -1) err(1, "open(%s)", fmfname); if (ioctl(fm_fd, FILEMON_SET_FD, &fm_log) < 0) err(1, "Cannot set filemon log file descriptor"); - - /* Set up these two fd's to close on exec. */ - (void)fcntl(fm_fd, F_SETFD, FD_CLOEXEC); - (void)fcntl(fm_log, F_SETFD, FD_CLOEXEC); } if (pflg) -- 2.45.0