Re: [PATCH] be paranoid about closed stdin/stdout/stderr
- From
Nick Andrew <nick@nick-andrew.net>
- Date
- Aug 27, 2008, 02:04 UTC
- Message-ID
- <20080827020400.GA12189@mail.local.tull.net>
- In-Reply-To
- <7vsksrad7o.fsf@gitster.siamese.dyndns.org>
On Tue, Aug 26, 2008 at 10:38:35AM -0700, Junio C Hamano wrote:
> This is going too far. Have you seen any other sane program that do this?
Hmm. I posted a patch to the "sane" project (scanner daemon) to avoid a similar problem. The patch was rejected.
saned tries to sanitise its environment, specifically low order fds:
fd = open("/dev/null", O_RDWR); dup2(fd, 0); dup2(fd, 1); fup2(fd, 2); close(fd);
And I pointed out that if the fds aren't sanitary (all fds open) before the code snippet, they won't be sanitary after it. My patch was only:
if (fd > 2)
close(fd);If closing fd 0/1/2 and then forking a subprocess is the unix equivalent of delayed shooting yourself in the foot then I can agree; git doesn't need it.
Nick.