Merge pull request #2038 from RadWolfie/loader-fix

Fix free up address range's system allocated
This commit is contained in:
RadWolfie 2020-11-22 02:26:09 -06:00 committed by GitHub
commit 55da0a278b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 7 additions and 7 deletions

View File

@ -72,17 +72,17 @@ const _XboxAddressRanges XboxAddressRanges[] = {
const size_t XboxAddressRanges_size = ARRAY_SIZE(XboxAddressRanges);
bool AddressRangeMatchesFlags(const int index, const unsigned int flags)
bool AddressRangeMatchesFlags(const size_t index, const unsigned int flags)
{
return XboxAddressRanges[index].RangeFlags & flags;
}
bool IsOptionalAddressRange(const int index)
bool IsOptionalAddressRange(const size_t index)
{
return AddressRangeMatchesFlags(index, MAY_FAIL);
}
int AddressRangeGetSystemFlags(const int index)
unsigned int AddressRangeGetSystemFlags(const size_t index)
{
return XboxAddressRanges[index].RangeFlags & SYSTEM_ALL;
}

View File

@ -196,8 +196,8 @@ extern const struct _XboxAddressRanges {
extern const size_t XboxAddressRanges_size;
extern bool AddressRangeMatchesFlags(const int index, const unsigned int flags);
extern bool IsOptionalAddressRange(const int index);
extern int AddressRangeGetSystemFlags(const int index);
extern bool AddressRangeMatchesFlags(const size_t index, const unsigned int flags);
extern bool IsOptionalAddressRange(const size_t index);
extern unsigned int AddressRangeGetSystemFlags(const size_t index);
extern bool VerifyWow64();

View File

@ -302,9 +302,9 @@ bool AttemptReserveAddressRanges(unsigned int* p_reserved_systems, blocks_reserv
// Some ranges are allowed to fail reserving
if (!IsOptionalAddressRange(i)) {
// If not, then let's free them and downgrade host's limitation.
clear_systems = AddressRangeGetSystemFlags(i);
iLast = i;
i = -1; // Reset index back to zero after for statement's increment.
clear_systems = AddressRangeGetSystemFlags(i);
continue;
}
}