This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch release/2.26/master updated. glibc-2.26-129-g268bd5f
- From: aurel32 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 10 Jan 2018 20:59:15 -0000
- Subject: GNU C Library master sources branch release/2.26/master updated. glibc-2.26-129-g268bd5f
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, release/2.26/master has been updated
via 268bd5f053204b80e771169e55b45704c04d77ad (commit)
from 989f59db3940ab4b76176af9a62b6980eafb7a22 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=268bd5f053204b80e771169e55b45704c04d77ad
commit 268bd5f053204b80e771169e55b45704c04d77ad
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Thu Dec 14 09:05:46 2017 -0200
ia64: Fix memchr for large input sizes (BZ #22603)
Current optimized ia64 memchr uses a strategy to check for last address
by adding the input one with expected size. However it does not take
care for possible overflow.
It was triggered by 3038145ca23 where default rawmemchr now uses memchr
(p, c, (size_t)-1).
This patch fixes it by implement a satured addition where overflows
sets the maximum pointer size to UINTPTR_MAX.
Checked on ia64-linux-gnu where it fixes both stratcliff and
test-rawmemchr failures.
Adhemerval Zanella <adhemerval.zanella@linaro.org>
James Clarke <jrtc27@jrtc27.com>
[BZ #22603]
* sysdeps/ia64/memchr.S (__memchr): Avoid overflow in pointer
addition.
(cherry picked from commit 3bb1ef58b989012f8199b82af6ec136da2f9fda3)
diff --git a/ChangeLog b/ChangeLog
index f921251..efc8395 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-12-19 Adhemerval Zanella <adhemerval.zanella@linaro.org>
+ James Clarke <jrtc27@jrtc27.com>
+
+ [BZ #22603]
+ * sysdeps/ia64/memchr.S (__memchr): Avoid overflow in pointer
+ addition.
+
2018-01-08 Dmitry V. Levin <ldv@altlinux.org>
* sysdeps/unix/sysv/linux/tst-ttyname.c (do_in_chroot_1): Skip the
diff --git a/sysdeps/ia64/memchr.S b/sysdeps/ia64/memchr.S
index d60cf7b..9a0abc6 100644
--- a/sysdeps/ia64/memchr.S
+++ b/sysdeps/ia64/memchr.S
@@ -67,6 +67,10 @@ ENTRY(__memchr)
.body
mov ret0 = str
add last = str, in2 // last byte
+ ;;
+ cmp.ltu p6, p0 = last, str
+ ;;
+(p6) mov last = -1
and tmp = 7, str // tmp = str % 8
cmp.ne p7, p0 = r0, r0 // clear p7
extr.u chr = in1, 0, 8 // chr = (unsigned char) in1
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 7 +++++++
sysdeps/ia64/memchr.S | 4 ++++
2 files changed, 11 insertions(+), 0 deletions(-)
hooks/post-receive
--
GNU C Library master sources