glibc/libio
Eric Biggers 3d110c7c6e Fix fwrite() reading beyond end of buffer in error path
Partially revert commits 2b766585f9 and
de2fd463b1, which were intended to fix BZ#11741
but caused another, likely worse bug, namely that fwrite() and fputs() could,
in an error path, read data beyond the end of the specified buffer, and
potentially even write this data to the file.

Fix BZ#11741 properly by checking the return value from _IO_padn() in
stdio-common/vfprintf.c.
2013-10-11 22:29:38 +05:30
..
bits Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fbufsize.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__flbf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fpending.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fpurge.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__freadable.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__freading.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fsetlocking.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fwritable.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
__fwriting.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bug-fopena+.c
bug-fseek.c
bug-ftell.c
bug-memstream1.c [BZ #1996] 2006-08-14 22:16:14 +00:00
bug-mmap-fflush.c
bug-rewind2.c
bug-rewind.c
bug-ungetc2.c
bug-ungetc3.c
bug-ungetc4.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
bug-ungetc.c
bug-ungetwc1.c
bug-ungetwc2.c
bug-wfflush.c
bug-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
bug-wsetpos.c Fix fsetpos on wide stream. 2009-09-02 19:45:33 -07:00
clearerr_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
clearerr.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Depend
fcloseall.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
feof_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
feof.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ferror_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ferror.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
filedoalloc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fileno.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fileops.c Fix fwrite() reading beyond end of buffer in error path 2013-10-11 22:29:38 +05:30
fmemopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fputc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fputc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fputwc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fputwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
freopen64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
freopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fseek.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fseeko64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fseeko.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ftello64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ftello.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fwide.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fwprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
fwscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
genops.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
getc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
getc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
getchar_u.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
getchar.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
getwc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
getwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
getwchar_u.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
getwchar.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
iofclose.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofdopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofflush_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofflush.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofgetpos64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofgetpos.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofgets_u.c Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
iofgets.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofgetws_u.c Fix leading whitespaces. 2013-06-06 20:36:07 +02:00
iofgetws.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofopen64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofopncook.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
iofputs_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofputs.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofputws_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofputws.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofread_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofread.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofsetpos64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofsetpos.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ioftell.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofwide.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iofwrite_u.c Fix fwrite() reading beyond end of buffer in error path 2013-10-11 22:29:38 +05:30
iofwrite.c Fix fwrite() reading beyond end of buffer in error path 2013-10-11 22:29:38 +05:30
iogetdelim.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iogetline.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iogets.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iogetwline.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iolibio.h Remove use of INTDEF/INTUSE in libio 2012-05-24 23:06:20 +02:00
iopadn.c Fix fwrite() reading beyond end of buffer in error path 2013-10-11 22:29:38 +05:30
iopopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ioputs.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ioseekoff.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ioseekpos.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iosetbuffer.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iosetvbuf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
ioungetc.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
ioungetwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iovdprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iovsprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iovsscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iovswscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
iowpadn.c Fix fwrite() reading beyond end of buffer in error path 2013-10-11 22:29:38 +05:30
libc_fatal.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
libio.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
libioP.h Fix typos. 2013-08-21 19:48:48 +02:00
Makefile Remove --disable-versioning. 2013-09-04 15:25:42 +00:00
memstream.c Fix memory leaks in libio on allocation failure 2013-09-09 22:52:25 +10:00
obprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldfileops.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
oldiofclose.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofdopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofgetpos64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofgetpos.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofsetpos64.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiofsetpos.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldiopopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldpclose.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
oldstdfiles.c Use (void) in no-arguments function definitions. 2013-06-08 00:22:23 +00:00
oldtmpfile.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
pclose.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
peekc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putchar_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putchar.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putwc_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putwchar_u.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
putwchar.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
rewind.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
setbuf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
setlinebuf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
stdfiles.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
stdio.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
stdio.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strfile.h Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
strops.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
swprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
swscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-fmemopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-freopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
test-freopen.sh Add --enable-hardcoded-path-in-tests configure option 2013-01-11 07:14:18 -08:00
tst_getwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst_getwc.input
tst_putwc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst_swprintf.c
tst_swscanf.c
tst_wprintf2.c
tst_wprintf.c
tst_wscanf.c
tst_wscanf.input
tst-atime.c
tst-eof.c
tst-ext2.c * libio/Makefile (tests): Add tst-ext2. 2007-10-13 07:33:09 +00:00
tst-ext.c
tst-fgetwc.c (do_test): Use de_DE.UTF-8 as locale name. 2009-06-15 17:27:48 -07:00
tst-fgetwc.input 2009-02-04 Ulrich Drepper <drepper@redhat.com> 2009-02-04 21:27:48 +00:00
tst-fgetws.c
tst-fopenloc2.c
tst-fopenloc.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-freopen.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-fseek.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-fwrite-error.c Fix off-by-one bug in tst-fwrite-error 2013-04-15 11:35:43 +05:30
tst-memstream1.c
tst-memstream2.c
tst-mmap2-eofsync.c
tst-mmap-eofsync.c
tst-mmap-fflushsync.c
tst-mmap-offend.c
tst-mmap-setvbuf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-popen1.c * sysdeps/unix/sysv/linux/syscalls.list: Add __pipe2 alias. 2008-07-27 18:26:13 +00:00
tst-setvbuf1.c [BZ #2337] 2006-12-13 23:17:54 +00:00
tst-sscanf.c
tst-swscanf.c
tst-ungetwc1.c
tst-ungetwc2.c
tst-widetext.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
tst-widetext.input * libio/tst-widetext.input: Remove surrogates. 2009-04-25 08:39:43 +00:00
tst-wmemstream1.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
tst-wmemstream2.c * posix/glob.c (glob_in_dir): Add some comments and asserts to 2006-09-30 15:09:35 +00:00
vasprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
Versions Remove mention of open_obstack_stream, which has never existed in libio. 2011-10-26 16:53:02 -07:00
vscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
vsnprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
vswprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
vwprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
vwscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
wfiledoalloc.c Remove trailing whitespace. 2013-06-05 20:44:03 +00:00
wfileops.c Avoid use of "register" as optimization hint. 2013-06-07 22:24:35 +00:00
wgenops.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
wmemstream.c Fix memory leaks in libio on allocation failure 2013-09-09 22:52:25 +10:00
wprintf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
wscanf.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00
wstrops.c Update copyright notices with scripts/update-copyrights. 2013-01-02 19:05:09 +00:00