LibCrypto: Prevent a signed overflow during BigInt Modular Power

The algorithm isn't explicit about what type this needs to be. But this
passes all of the tests, so that's probably fine.
This commit is contained in:
DexesTTP 2021-05-14 09:46:41 +02:00 committed by Andreas Kling
commit 36a56871c0
Notes: sideshowbarker 2024-07-18 18:10:34 +09:00

View file

@ -58,9 +58,9 @@ ALWAYS_INLINE static u32 inverse_wrapped(u32 value)
{
VERIFY(value & 1);
i64 b = static_cast<i64>(value);
i64 k0 = (2 - b);
i64 t = (b - 1);
u64 b = static_cast<u64>(value);
u64 k0 = (2 - b);
u64 t = (b - 1);
size_t i = 1;
while (i < 32) {
t = t * t;