This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.26.9000-1018-g648615e
- From: jsm28 at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 19 Dec 2017 18:41:28 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.26.9000-1018-g648615e
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, master has been updated
via 648615e13f8d7b638cb911926b8bb70804217f15 (commit)
from f1e005022ebd246e1541386cd2f3286f008d2d98 (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=648615e13f8d7b638cb911926b8bb70804217f15
commit 648615e13f8d7b638cb911926b8bb70804217f15
Author: Bernd Edlinger <bernd.edlinger@hotmail.de>
Date: Tue Dec 19 18:41:01 2017 +0000
Avoid signed shift overflow in pow (bug 21309).
As noted in bug 21309, dbl-64/e_pow.c contains signed int shifts that,
although the shift count is in the range [0, 31], shift bits into and
beyond the sign bit and so are undefined in ISO C. Although this is
defined in GNU C, this patch from the bug cleans up the code to avoid
those shifts.
Tested for x86_64.
[BZ #21309]
* sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n
unsigned.
diff --git a/ChangeLog b/ChangeLog
index 4f836e3..d194a73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-12-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ [BZ #21309]
+ * sysdeps/ieee754/dbl-64/e_pow.c (checkint): Make m and n
+ unsigned.
+
2017-12-19 Joseph Myers <joseph@codesourcery.com>
Revert:
diff --git a/sysdeps/ieee754/dbl-64/e_pow.c b/sysdeps/ieee754/dbl-64/e_pow.c
index 9f6439e..8c7fb74 100644
--- a/sysdeps/ieee754/dbl-64/e_pow.c
+++ b/sysdeps/ieee754/dbl-64/e_pow.c
@@ -452,7 +452,8 @@ checkint (double x)
int4 i[2];
double x;
} u;
- int k, m, n;
+ int k;
+ unsigned int m, n;
u.x = x;
m = u.i[HIGH_HALF] & 0x7fffffff; /* no sign */
if (m >= 0x7ff00000)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 6 ++++++
sysdeps/ieee754/dbl-64/e_pow.c | 3 ++-
2 files changed, 8 insertions(+), 1 deletions(-)
hooks/post-receive
--
GNU C Library master sources