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.