Files
ladybird/Userland/Libraries/LibJS/Runtime/NumberConstructor.cpp
Daniel Bertalan 0a05f04d1b LibJS: Fix UB in Number.IsSafeInteger
Casting a floating point number to an integer and comparing that against
the original value is not a good way to test if it is a whole number. It
may cause unnecessary narrowing conversion issues and UB. This was the
case, which was caught be Clang's `-fsanitize=float-cast-overflow`.

This commit changes the code to use `is_integral_number`, as suggested
in ECMA-262.
2021-08-08 10:55:36 +02:00

5.1 KiB