mirror of
https://github.com/melonDS-emu/melonDS.git
synced 2026-11-07 09:16:07 -10:00
Use 64-bit type in SqrtDone() to fix an overflow (#2795)
This commit is contained in:
1 parent
1e654443e4
commit
497aa6cdd2
1 file changed
+2
-2
+2
-2
@@ -1879,7 +1879,7 @@ void NDS::SqrtDone(u32 param)
|
||||
u64 val;
|
||||
u32 res = 0;
|
||||
u64 rem = 0;
|
||||
u32 prod = 0;
|
||||
u64 prod = 0;
|
||||
u32 nbits, topshift;
|
||||
|
||||
SqrtCnt &= ~0x8000;
|
||||
@@ -1903,7 +1903,7 @@ void NDS::SqrtDone(u32 param)
|
||||
val <<= 2;
|
||||
res <<= 1;
|
||||
|
||||
prod = (res << 1) + 1;
|
||||
prod = ((u64)res << 1) + 1;
|
||||
if (rem >= prod)
|
||||
{
|
||||
rem -= prod;
|
||||
|
||||
Reference in new issue
Block a user