about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2015-10-15 16:37:48 +0200
committerFlorian Weimer <fweimer@redhat.com>2015-10-15 17:18:51 +0200
commit95e83974812f5c6de0483690ef47787965bb817a (patch)
treec86080b681b554ae4466370a385b4fe23237e8fd /ChangeLog
parentb994fd793799590f70ceb9a96f135bc2390bb4f3 (diff)
downloadglibc-95e83974812f5c6de0483690ef47787965bb817a.tar.gz
glibc-95e83974812f5c6de0483690ef47787965bb817a.tar.xz
glibc-95e83974812f5c6de0483690ef47787965bb817a.zip
vfscanf: Use struct scratch_buffer instead of extend_alloca
A custom character buffer is added in this commit, in the form of
struct char_buffer.  The char_buffer_add function replaces the
ADDW macro (which has grown with each successive security fix).
The char_buffer_add slow path is moved out-of-line, reducing
code size.

	* stdio-common/vfscanf.c (MEMCPY): Remove macro.
	(struct char_buffer): New type.
	(char_buffer_start, char_buffer_size, char_buffer_error)
	(char_buffer_rewind, char_buffer_add): New functions.
	(ADDW): Remove macro, replaced by the char_buffer_add function.
	(_IO_vfscanf_internal): Rewrite using struct char_buffer instead
	of extend_alloca.  Make control flow more explicit.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog10
1 files changed, 10 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 63701d1bd2..b759929bf9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2015-10-15  Florian Weimer  <fweimer@redhat.com>
+
+	* stdio-common/vfscanf.c (MEMCPY): Remove macro.
+	(struct char_buffer): New type.
+	(char_buffer_start, char_buffer_size, char_buffer_error)
+	(char_buffer_rewind, char_buffer_add): New functions.
+	(ADDW): Remove macro, replaced by the char_buffer_add function.
+	(_IO_vfscanf_internal): Rewrite using struct char_buffer instead
+	of extend_alloca.  Make control flow more explicit.
+
 2015-10-15  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #19137]