Re: [PATCH 1/2] MSVC: Do not close stdout to prevent a crash
- From
Andreas Schwab <schwab@linux-m68k.org>
- Date
- Nov 20, 2011, 09:05 UTC
- Message-ID
- <m2k46vcgem.fsf@igel.home>
- In-Reply-To
- <7vpqgniid5.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
> Andreas Schwab <schwab@linux-m68k.org> writes: > >> Junio C Hamano <gitster@pobox.com> writes: >> >>> We have relied on fstat(-1, &st) to correctly error out, and if MSVC build >>> crashes, it is a bug in its fstat() emulation, I would think. >> >> fileno(stdout) is alread wrong if stdout was closed. > > The "-1" in my message comes from here: > > DESCRIPTION > > The fileno() function shall return the integer file descriptor > associated with the stream pointed to by stream.
After fclose(stdout) the stream does not exist any more. Thus the use of fileno(stdout) is undefined, in fact *any* use of stdout is undefined afterwards.
Andreas.
-- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."