NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/47805 CVS commit: src/bin/sh



The following reply was made to PR bin/47805; it has been noted by GNATS.

From: "YAMAMOTO Takashi" <yamt%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/47805 CVS commit: src/bin/sh
Date: Thu, 27 Jun 2013 23:22:04 +0000

 Module Name:   src
 Committed By:  yamt
 Date:          Thu Jun 27 23:22:04 UTC 2013
 
 Modified Files:
        src/bin/sh: eval.c redir.c
 
 Log Message:
 fix descriptor leaks.  PR/47805
 
 this fix was taken from FreeBSD SVN rev 199953 (Jilles Tjoelker)
     ------------------------------------------------------------------------
     r199953 | jilles | 2009-11-30 07:33:59 +0900 (Mon, 30 Nov 2009) | 16 lines
 
     Fix some cases where file descriptors from redirections leak to programs.
 
     - Redirecting fds that were not open before kept two copies of the
       redirected file.
        sh -c '{ :; } 7>/dev/null; fstat -p $$; true'
        (both fd 7 and 10 remained open)
     - File descriptors used to restore things after redirection were not
       set close-on-exec, instead they were explicitly closed before executing
       a program normally and before executing a shell procedure. The latter
       must remain but the former is replaced by close-on-exec.
        sh -c 'exec 7</; { exec fstat -p $$; } 7>/dev/null; true'
        (fd 10 remained open)
 
     The examples above are simpler than the testsuite because I do not want to
     use fstat or procstat in the testsuite.
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.106 -r1.107 src/bin/sh/eval.c
 cvs rdiff -u -r1.34 -r1.35 src/bin/sh/redir.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index