Use 64-bit type in SqrtDone() to fix an overflow (#2795)

This commit is contained in:
Kuratius authored and GitHub committed 2026-11-04 23:54:02 +01:00
1 parent 1e654443e4
commit 497aa6cdd2
1 file changed
+2 -2
+2 -2
View File
@@ -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;