mirror of
https://github.com/fluencelabs/musl
synced 2025-06-28 14:11:56 +00:00
fix potential overflow in exponent reading
note that there's no need for a precise cutoff, because exponents this large will always result in overflow or underflow (it's impossible to read enough digits to compensate for the exponent magnitude; even at a few nanoseconds per digit it would take hundreds of years).
This commit is contained in:
@ -44,7 +44,7 @@ static long long scanexp(FILE *f, int pok)
|
|||||||
}
|
}
|
||||||
for (x=0; c-'0'<10U && x<INT_MAX/10; c = shgetc(f))
|
for (x=0; c-'0'<10U && x<INT_MAX/10; c = shgetc(f))
|
||||||
x = 10*x + c-'0';
|
x = 10*x + c-'0';
|
||||||
for (y=x; c-'0'<10U && x<LLONG_MAX/10; c = shgetc(f))
|
for (y=x; c-'0'<10U && x<LLONG_MAX/100; c = shgetc(f))
|
||||||
y = 10*y + c-'0';
|
y = 10*y + c-'0';
|
||||||
for (; c-'0'<10U; c = shgetc(f));
|
for (; c-'0'<10U; c = shgetc(f));
|
||||||
shunget(f);
|
shunget(f);
|
||||||
|
Reference in New Issue
Block a user