about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-09-18 09:26:00 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2017-09-25 18:04:22 -0700
commit5f9f31ad129d97e6fc548954c9b97e27dd332600 (patch)
treeb7f30d51192c046e0d23b6a04346d6549c9cb24f /ChangeLog
parentccf970c7a77e86f4f5ef8ecc5e637114b1c0136a (diff)
downloadglibc-5f9f31ad129d97e6fc548954c9b97e27dd332600.tar.gz
glibc-5f9f31ad129d97e6fc548954c9b97e27dd332600.tar.xz
glibc-5f9f31ad129d97e6fc548954c9b97e27dd332600.zip
scratch_buffer: use union for internal buffer
Problem reported by Florian Weimer [1] and solution suggested by
Andreas Schwab [2].  It also set the same buffer size independent
of architecture max_align_t size.

Checked on x86_64-linux-gnu and i686-linux-gnu.

	* lib/malloc/scratch_buffer.h (struct scratch_buffer):
	Use an union instead of a max_align_t array for __space,
	so that __space is the same size on all platforms.
	* malloc/scratch_buffer_grow_preserve.c
	(__libc_scratch_buffer_grow_preserve): Likewise.

[1] https://sourceware.org/ml/libc-alpha/2017-09/msg00693.html
[2] https://sourceware.org/ml/libc-alpha/2017-09/msg00695.html
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 416d673523..67394882e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2017-09-25  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
+	* lib/malloc/scratch_buffer.h (struct scratch_buffer):
+	Use an union instead of a max_align_t array for __space,
+	so that __space is the same size on all platforms.
+	* malloc/scratch_buffer_grow_preserve.c
+	(__libc_scratch_buffer_grow_preserve): Likewise.
+
 	[BZ #22183]
 	* include/gnu-versions.h (_GNU_GLOB_INTERFACE_VERSION): Increase
 	version to 2.