mirror of
https://github.com/Lime3DS/Lime3DS
synced 2024-12-26 17:12:37 -06:00
Kernel: Fix assertion failure when ControlMemory is called with size=0
This commit is contained in:
parent
687d973980
commit
12390eb155
1 changed files with 8 additions and 0 deletions
|
@ -174,6 +174,10 @@ ResultCode Process::HeapFree(VAddr target, u32 size) {
|
|||
return ERR_INVALID_ADDRESS;
|
||||
}
|
||||
|
||||
if (size == 0) {
|
||||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ResultCode result = vm_manager.UnmapRange(target, size);
|
||||
if (result.IsError()) return result;
|
||||
|
||||
|
@ -226,6 +230,10 @@ ResultCode Process::LinearFree(VAddr target, u32 size) {
|
|||
return ERR_INVALID_ADDRESS;
|
||||
}
|
||||
|
||||
if (size == 0) {
|
||||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
VAddr heap_end = GetLinearHeapBase() + (u32)linheap_memory->size();
|
||||
if (target + size > heap_end) {
|
||||
return ERR_INVALID_ADDRESS_STATE;
|
||||
|
|
Loading…
Reference in a new issue