Fix division by denominator with more than two limbs in strtold

This commit is contained in:
Andreas Schwab 2011-12-21 23:32:10 +01:00
parent d2daaa1eb6
commit 707f25dfc0
3 changed files with 10 additions and 2 deletions

View File

@ -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

4
NEWS
View File

@ -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.

View 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;
}