]> sourceware.org Git - glibc.git/commitdiff
Fix division by denominator with more than two limbs in strtold
authorAndreas Schwab <schwab@linux-m68k.org>
Wed, 21 Dec 2011 22:32:10 +0000 (23:32 +0100)
committerAndreas Schwab <schwab@linux-m68k.org>
Wed, 21 Dec 2011 22:57:15 +0000 (23:57 +0100)
ChangeLog
NEWS
stdlib/strtod_l.c

index 58f582c4e3b1c23ab6701080be43ff0745b879d9..024ee2340b1729c3b29b4cb9667e1be4f595abdb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-12-21  Andreas Schwab  <schwab@linux-m68k.org>
+
+       [BZ #13524]
+       * stdlib/strtod_l.c (____STRTOF_INTERNAL): Clear lowest limb of
+       numerator after shifting it by one limb.
+
 2011-12-19  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
 
        * sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Define it only
diff --git a/NEWS b/NEWS
index a0869ef08a4c7a4d9f87a5b687ccb42c8bad1177..50c5852a67da7ba3f6dbe7335be183409cb386a2 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-GNU C Library NEWS -- history of user-visible changes.  2011-12-17
+GNU C Library NEWS -- history of user-visible changes.  2011-12-21
 Copyright (C) 1992-2009, 2010, 2011 Free Software Foundation, Inc.
 See the end for copying conditions.
 
@@ -13,7 +13,7 @@ Version 2.15
   12885, 12892, 12907, 12922, 12935, 13007, 13021, 13067, 13068, 13090,
   13092, 13114, 13118, 13123, 13134, 13138, 13147, 13150, 13179, 13192,
   13268, 13276, 13291, 13335, 13337, 13344, 13358, 13367, 13446, 13472,
-  13484, 13506
+  13484, 13506, 13524
 
 * New program pldd to list loaded object of a process
   Implemented by Ulrich Drepper.
index b3380fdba31ffd2ea0e13f5ce3312424675f8f66..f24d4de73b9f436e2cc6d2fefb39a9fbe5e33071 100644 (file)
@@ -1513,6 +1513,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
              assert (numsize == densize);
              for (i = numsize; i > 0; --i)
                num[i] = num[i - 1];
+             num[0] = 0;
            }
 
          den[densize] = 0;
@@ -1557,6 +1558,7 @@ ____STRTOF_INTERNAL (nptr, endptr, group, loc)
              n0 = num[densize] = num[densize - 1];
              for (i = densize - 1; i > 0; --i)
                num[i] = num[i - 1];
+             num[0] = 0;
 
              got_limb;
            }
This page took 0.054531 seconds and 5 git commands to generate.