Fix critical overflow in random computation

This commit is contained in:
Thog 2019-11-26 18:12:01 +01:00
parent e714322250
commit e2cd5b4e2d
No known key found for this signature in database
GPG key ID: 0CD291558FAFDBC6

View file

@ -272,9 +272,9 @@ namespace Ryujinx.HLE.HOS.Services.Ro
{
while (true)
{
int randomOffset = _random.Next(0, (int)addressSpacePageLimit) << 12;
ulong randomOffset = (ulong)(uint)_random.Next(0, (int)addressSpacePageLimit) << 12;
targetAddress = memMgr.GetAddrSpaceBaseAddr() + (ulong)randomOffset;
targetAddress = memMgr.GetAddrSpaceBaseAddr() + randomOffset;
if (memMgr.InsideAddrSpace(targetAddress, size) && !memMgr.InsideHeapRegion(targetAddress, size) && !memMgr.InsideAliasRegion(targetAddress, size))
{