mirror of
https://git.musl-libc.org/git/musl
synced 2025-01-25 15:42:06 +03:00
fix off-by-one error that caused uninitialized memory read in floatscan
this caused misreading of certain floating point values that are exact multiples of large powers of ten, unpredictable depending on prior stack contents.
This commit is contained in:
parent
e5a9b50e97
commit
28c5d46d84
@ -244,7 +244,7 @@ static long double decfloat(FILE *f, int c, int bits, int emin, int sign, int po
|
||||
|
||||
/* Assemble desired bits into floating point variable */
|
||||
for (y=i=0; i<LD_B1B_DIG; i++) {
|
||||
if ((a+i & MASK)==z) x[z=(z+1 & MASK)] = 0;
|
||||
if ((a+i & MASK)==z) x[(z=(z+1 & MASK))-1] = 0;
|
||||
y = 1000000000.0L * y + x[a+i & MASK];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user