about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog89
1 files changed, 89 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e3bba2ab5a..f73817b12b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,95 @@
 2018-12-05  Zack Weinberg  <zackw@panix.com>
 	    Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
 
+	[BZ #11319]
+	* libio/iovsprintf.c (_IO_str_chk_overflow, libio_vtable):
+	Moved here from debug/vsprintf_chk.c.
+	(__vsprintf_internal): Add 'maxlen' argument.  Change the setup
+	and completion logic for the strfile to match exactly what
+	__vsprintf_chk used to do, except, when maxlen is -1, pass -1 to
+	_IO_str_init_static_internal instead of maxlen-1.
+	(__vsprintf): Pass -1 as maxlen to __vsprintf_internal.
+	* stdio-common/sprintf.c (__sprintf): Pass -1 as maxlen to
+	__vsprintf_internal.
+
+	* debug/vsprintf_chk.c (__vsprintf_chk)
+	* debug/sprintf_chk.c (__sprintf_chk):
+	Directly call __vsprintf_internal, passing PRINTF_FORTIFY if
+	'flags' argument is positive, and slen as maxlen.  No need to lock
+	the FILE and/or construct a temporary FILE.  Minimize and normalize
+	header inclusions and variable names.  Do not libc_hidden_def anything.
+
+	* debug/asprintf_chk.c (__asprintf_chk)
+	* debug/dprintf_chk.c (__dprintf_chk)
+	* debug/fprintf_chk.c (__fprintf_chk)
+	* debug/fwprintf_chk.c (__fwprintf_chk)
+	* debug/printf_chk.c (__printf_chk)
+	* debug/snprintf_chk.c (__snprintf_chk)
+	* debug/swprintf_chk.c (__swprintf_chk)
+	* debug/vasprintf_chk.c (__vasprintf_chk)
+	* debug/vdprintf_chk.c (__vdprintf_chk)
+	* debug/vfprintf_chk.c (__vfprintf_chk)
+	* debug/vfwprintf_chk.c (__vfwprintf_chk)
+	* debug/vprintf_chk.c (__vprintf_chk)
+	* debug/vsnprintf_chk.c (__vsnprintf_chk)
+	* debug/vswprintf_chk.c (__vswprintf_chk)
+	* debug/vwprintf_chk.c (__vwprintf_chk)
+	* debug/wprintf_chk.c (__wprintf_chk):
+	Directly call the corresponding vxxprintf_internal function, passing
+	PRINTF_FORTIFY if 'flag' argument is positive.	No need to lock
+	the FILE and/or construct a temporary FILE.  Minimize and normalize
+	header inclusions and variable names.  Do not libc_hidden_def anything.
+
+	* debug/obprintf_chk.c (__obstack_printf_chk): Directly call
+	__obstack_vprintf_internal.
+	(__obstack_vprintf_chk): Convert into a wrapper that calls
+	__obstack_vprintf_internal (these two functions already had the
+	same code) and move to new file...
+	* debug/vobprintf_chk.c (__obstack_vprintf_chk): ... here.  New
+	file.
+	* debug/obprintf.c (__obstack_vprintf_internal): Remove the checking of
+	the flags argument and the setting of _IO_FLAGS2_FORTIFY.
+	* debug/Makefile (routines): Add vobprintf_chk.
+
+	* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
+	(__nldbl___vsprintf): Pass -1 as maxlen to __vsprintf_internal.
+	(__nldbl___vfprintf_chk, __nldbl___vsnprintf_chk)
+	(__nldbl___vsprintf_chk, __nldbl___vswprintf_chk)
+	(__nldbl___vasprintf_chk, __nldbl___vdprintf_chk)
+	(__nldbl___obstack_vfprintf_chk):
+	Directly call the corresponding vxxprintf_internal function,
+	passing PRINTF_FORTIFY if 'flag' argument is positive.  If necessary,
+	duplicate comparison of slen with 0 or maxlen from the corresponding
+	non-__nldbl function.
+
+	* include/stdio.h (__vsnprintf_chk, __vfprintf_chk, __vasprintf_chk)
+	(__vdprintf_chk, __obstack_vfprintf_chk): Remove libc_hidden_proto.
+	* include/wchar.h (__vfwprintf_chk, __vswprintf_chk):
+	Remove libc_hidden_proto.
+
+	* stdio-common/vfprintf-internal.c
+	(__vfprintf_internal, __vfwprintf_internal):
+	Do not check _IO_FLAGS2_FORTIFY.
+	* libio/libio.h (_IO_FLAGS2_FORTIFY): Remove.
+	* libio/libioP.h: Update prototype of __vsprintf_internal and add
+	a comment explaining why it has the maxlen argument.
+	(_IO_acquire_lock_clear_flags2_fct): Remove.
+	(_IO_acquire_lock_clear_flags2): Remove.
+	(_IO_release_lock): Remove conditional statement which will
+	now never execute.
+	(_IO_acquire_lock): Remove variable which is now unused.
+	* sysdeps/generic/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove.
+	* sysdeps/nptl/stdio-lock.h (_IO_acquire_lock_clear_flags2): Remove.
+
+	* stdio-common/Makefile (tests): Add tst-bz11319 and
+	tst-bz11319-fortify2.
+	(CFLAGS-tst-bz11319-fortify2.c): New macro.
+	* stdio-common/tst-bz11319-fortify2.c: New file.
+	* stdio-common/tst-bz11319.c: Likewise.
+
+2018-12-05  Zack Weinberg  <zackw@panix.com>
+	    Gabriel F. T. Gomes  <gabriel@inconstante.eti.br>
+
 	* misc/syslog.c: Include libioP.h, not iolibio.h.
 	(__vsyslog_internal): New function with the former body of
 	__vsyslog_chk; takes mode_flags argument same as