summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/s_log1pl.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index ceb8333dd1..3025edf83a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-01-10 Joseph Myers <joseph@codesourcery.com>
+
+ [BZ #22693]
+ * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Handle
+ negative arguments in test for NaN or infinity argument.
+
2018-01-10 Dmitry V. Levin <ldv@altlinux.org>
* po/libc.pot: Regenerate.
diff --git a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
index 5457892a98..e499c9f604 100644
--- a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c
@@ -131,8 +131,8 @@ __log1pl (long double xm1)
/* Test for NaN or infinity input. */
xhi = ldbl_high (xm1);
EXTRACT_WORDS (hx, lx, xhi);
- if (hx >= 0x7ff00000)
- return xm1 + xm1;
+ if ((hx & 0x7fffffff) >= 0x7ff00000)
+ return xm1 + xm1 * xm1;
/* log1p(+- 0) = +- 0. */
if (((hx & 0x7fffffff) | lx) == 0)