From 6b7970ee787cf042182f8f93bf25c6e6453a8aef Mon Sep 17 00:00:00 2001 From: Siteshwar Vashisht Date: Tue, 17 Jan 2017 10:28:34 +0100 Subject: [PATCH] Do not leak heredoc fd to child processes --- lib/sh/tmpfile.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/sh/tmpfile.c b/lib/sh/tmpfile.c index e41e45b..15fcb5c 100644 --- a/lib/sh/tmpfile.c +++ b/lib/sh/tmpfile.c @@ -42,7 +42,7 @@ extern int errno; #endif -#define BASEOPENFLAGS (O_CREAT | O_TRUNC | O_EXCL | O_BINARY) +#define BASEOPENFLAGS (O_CREAT | O_TRUNC | O_EXCL | O_BINARY | O_CLOEXEC) #define DEFAULT_TMPDIR "." /* bogus default, should be changed */ #define DEFAULT_NAMEROOT "shtmp" @@ -195,7 +195,7 @@ sh_mktmpfd (nameroot, flags, namep) #ifdef USE_MKSTEMP sprintf (filename, "%s/%s.XXXXXX", tdir, lroot); - fd = mkstemp (filename); + fd = mkostemp (filename, O_CLOEXEC); if (fd < 0 || namep == 0) { free (filename); -- 2.9.3