[jjohnstn@cygnus.com: Re: A patch from the net]
Fifer, Eric
EFifer@sanwaint.com
Fri Feb 25 09:05:00 GMT 2000
Thanks for fowarding the stdout problem.
Also, the end of last month I sent in a different newlib problem,
but never got any kind of acknowledgement. I'll attach the old
email, just in case the issue fell through the cracks ...
Eric
--
Sent: Monday, January 31, 2000 3:44 PM
To: cygwin-developers@sourceware.cygnus.com
Subject: fopen looking past end of mode string
When fopen is checking its mode flags, it can look past
the end of the string. This patch checks that mode[1] is
not a terminator before looking ahead to mode[2].
Eric Fifer
--- newlib/libc/stdio/flags.c- Thu Oct 14 18:37:59 1999
+++ newlib/libc/stdio/flags.c Mon Jan 31 14:33:53 2000
@@ -61,19 +61,19 @@
ptr->_errno = EINVAL;
return (0);
}
- if (mode[1] == '+' || mode[2] == '+')
+ if (mode[1] && (mode[1] == '+' || mode[2] == '+'))
{
ret = __SRW;
m = O_RDWR;
}
- if (mode[1] == 'b' || mode[2] == 'b')
+ if (mode[1] && (mode[1] == 'b' || mode[2] == 'b'))
{
#ifdef O_BINARY
m |= O_BINARY;
#endif
}
#ifdef __CYGWIN__
- else if (mode[1] == 't' || mode[2] == 't')
+ else if (mode[1] && (mode[1] == 't' || mode[2] == 't'))
#else
else
#endif
More information about the Cygwin-developers
mailing list