newlib-cygwin/newlib/libc/stdio
Jeff Johnston 05272960ab 2016-12-15 Giuseppe Musumeci <giuseppe.musumeci@broadcom.com>
__sinit initialises some common file descriptors as line buffered and
relies on the first users of such FDs to call __smakebuf_r. If
__smakebuf_r realises there's no space for a buffer (malloc returns
NULL), it makes them unbuffered. However, while setting the __SNBF
bit, it doesn't clear the __SLBF bit in the flags. Depending on the
order in which functions check buffering flags in the FD, sometime
they assume it's line buffered (e.g. __sfvwrite_r), trashing
application memory that's not really been allocated to them.

This patch solves the problem by clearing the unbuffered/line buffered
flag when setting the line buffered/unbuffered flag.
2016-12-15 12:12:31 -05:00
..
Makefile.am Move duplicated documentation rules to Makefile.shared 2015-11-02 18:02:39 -05:00
Makefile.in Regenerate newlib Makefiles 2016-07-04 17:13:55 +01:00
asiprintf.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
asniprintf.c
asnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
asprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
clearerr.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
clearerr_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
diprintf.c
dprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fclose.c Add missing checks for __SNLK flag 2015-12-08 21:23:22 +01:00
fcloseall.c
fdopen.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
feof.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
feof_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
ferror.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
ferror_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fflush.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fflush_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetpos.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fgets.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgets_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetwc.c Fix mismatched parentheses in documentation. 2015-06-24 12:23:25 +01:00
fgetwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetws.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fgetws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fileno.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fileno_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
findfp.c Add missing checks for __SNLK flag 2015-12-08 21:23:22 +01:00
fiprintf.c
fiscanf.c
flags.c * libc/stdio/flags.c (__sflags): Guard against using O_BINARY on systems which 2012-08-23 04:19:59 +00:00
floatio.h
fmemopen.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fopen.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
fopencookie.c Feature test macros overhaul: stdio.h 2016-03-17 21:09:04 -05:00
fprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fpurge.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
fputc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputs.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputs_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputwc.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputws.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fputws_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fread.c Fix an inconsistent use of '.' in FUNCTION 2015-06-23 20:56:15 +01:00
fread_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
freopen.c Add missing checks for __SNLK flag 2015-12-08 21:23:22 +01:00
fscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
fseek.c Add missing semicolons to prototypes. 2015-11-02 16:34:49 -05:00
fseeko.c 2013-04-10 Bin Cheng <bin.cheng@arm.com> 2013-04-10 18:47:46 +00:00
fsetlocking.c * libc/include/stdio.h (__SNLK): Define. 2014-12-15 18:22:56 +00:00
fsetpos.c
ftell.c * libc/include/sys/reent.h (__sFILE): Change type of _offset 2012-11-29 16:28:30 +00:00
ftello.c * libc/include/sys/reent.h (__sFILE): Change type of _offset 2012-11-29 16:28:30 +00:00
funopen.c * libc/include/stdio.h (funopen): Change prototype of 2013-10-23 10:04:43 +00:00
fvwrite.c * libc/stdio/fvwrite.c: Allow writing in larger chunks for fully 2013-11-04 14:18:44 +00:00
fvwrite.h * libc/stdio/fvwrite.h: change type of uio_resid from int to size_t to 2013-10-31 10:35:54 +00:00
fwalk.c * libc/stdio/fwalk.c (_fwalk_reent): Remove redundant test. 2014-09-05 09:31:32 +00:00
fwide.c Add missing semicolons to prototypes. 2015-11-02 16:34:49 -05:00
fwprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
fwrite.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fwrite_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
fwscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
getc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
getc_u.c
getchar.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
getchar_u.c Correct a non-ANSI prototype in SYNOPSIS 2015-06-23 17:30:17 +01:00
getdelim.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
getline.c
gets.c Prevent use of uninitialized file lock 2015-07-02 09:38:06 +02:00
getw.c
getwc.c
getwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
getwchar.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
getwchar_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
iprintf.c
iscanf.c
local.h Add __swhatbuf function from OpenBSD 2016-03-12 23:37:01 +01:00
makebuf.c 2016-12-15 Giuseppe Musumeci <giuseppe.musumeci@broadcom.com> 2016-12-15 12:12:31 -05:00
mktemp.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
nano-vfprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfprintf_float.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfprintf_i.c * libc/stdio/nano-vfprintf_i.c (_printf_i): Use LONGINT when void* is 2014-11-20 14:05:28 +00:00
nano-vfprintf_local.h 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfscanf.c * newlib/libc/stdio/nano-vfscanf.c: Fix '%X' specifier procesing 2016-02-08 10:24:31 +01:00
nano-vfscanf_float.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfscanf_i.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
nano-vfscanf_local.h 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
open_memstream.c * libc/stdio/open_memstream.c (internal_open_memstream_r): Initialize 2014-02-20 13:32:34 +00:00
perror.c strerror: allow user hook to comply with POSIX rules 2011-05-25 18:41:10 +00:00
printf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
putc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
putc_u.c
putchar.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
putchar_u.c
puts.c Prevent use of uninitialized file lock 2015-07-02 09:38:06 +02:00
putw.c
putwc.c
putwc_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
putwchar.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
putwchar_u.c Implement BSD/GNU unlocked stdio extensions. 2014-12-18 14:55:21 +00:00
refill.c * libc/stdio/fclose.c: Only use sfp lock to guard non-atomic 2011-01-28 10:49:11 +00:00
remove.c
rename.c
rewind.c
rget.c
scanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
sccl.c
setbuf.c 2013-11-18 Sahil Patnayakuni <sahilp@oarcorp.com> 2013-11-18 17:28:06 +00:00
setbuffer.c
setlinebuf.c
setvbuf.c setvbuf: Drop setting reent->__cleanup 2016-03-13 12:03:03 +01:00
siprintf.c
siscanf.c
sniprintf.c
snprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
sprintf.c Simplify the markup for sprintf and swprintf documentation 2015-11-19 11:39:52 +00:00
sscanf.c Improve markup of sscanf and swscanf documentation 2015-11-19 11:39:49 +00:00
stdio.c * libc/include/stdio.h (funopen): Change prototype of 2013-10-23 10:04:43 +00:00
stdio.tex Fix makedoc markup used in texinfo source 2015-06-23 16:14:39 +01:00
stdio_ext.c * stdio.tex: Add menu entries for __fsetlocking and stdio_ext. 2014-12-18 10:08:09 +00:00
swprintf.c Simplify the markup for sprintf and swprintf documentation 2015-11-19 11:39:52 +00:00
swscanf.c Improve markup of sscanf and swscanf documentation 2015-11-19 11:39:49 +00:00
tmpfile.c
tmpnam.c
ungetc.c * libc/stdio/local.h (_newlib_flockfile_start): New macro to 2012-05-30 08:58:42 +00:00
ungetwc.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
vasiprintf.c Throughout, run newlib with -Wall -Werror option and fix bugs and 2012-08-08 11:04:18 +00:00
vasniprintf.c
vasnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vasprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vdiprintf.c
vdprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vfieeefp.h * libc/stdio/vfieeefp.h (ldieee): Fix typo. 2013-04-08 09:34:35 +00:00
vfprintf.c Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
vfscanf.c Consolidate wctomb/mbtowc calls for POSIX-1.2008 2016-08-15 10:56:57 +02:00
vfwprintf.c POSIX-1.2008 per-thread locales, groundwork part 2 2016-08-15 10:56:56 +02:00
vfwscanf.c Fix a potential buffer overflow in wscanf family 2016-10-22 21:43:28 +02:00
viprintf.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
viscanf.c 2013-04-29 Sebastian Huber <sebastian.huber@embedded-brains.de> 2013-04-29 21:06:23 +00:00
vprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsiprintf.c 2011-08-19 Ralf Corsépius <ralf.corsepius@rtems.org> 2011-08-19 17:00:32 +00:00
vsiscanf.c
vsniprintf.c 2011-08-19 Ralf Corsépius <ralf.corsepius@rtems.org> 2011-08-19 17:00:32 +00:00
vsnprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsprintf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vsscanf.c 2014-07-04 Bin Cheng <bin.cheng@arm.com> 2014-07-04 17:21:45 +00:00
vswprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vswscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vwprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
vwscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wbuf.c printf: set errno for read-only stream 2011-06-14 03:56:05 +00:00
wprintf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wscanf.c 2013-11-26 Julio Gutierrez <jgutleyva@gmail.com> 2013-11-26 17:21:01 +00:00
wsetup.c printf: set errno for read-only stream 2011-06-14 03:56:05 +00:00