summaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/svc.cpp')
-rw-r--r--src/core/hle/svc.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 701dffef3..3a53126c1 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -99,6 +99,7 @@ static ResultCode ControlMemory(u32* out_addr, u32 operation, u32 addr0, u32 add
99 switch (operation & MEMOP_OPERATION_MASK) { 99 switch (operation & MEMOP_OPERATION_MASK) {
100 case MEMOP_FREE: 100 case MEMOP_FREE:
101 { 101 {
102 // TODO(Subv): What happens if an application tries to FREE a block of memory that has a SharedMemory pointing to it?
102 if (addr0 >= Memory::HEAP_VADDR && addr0 < Memory::HEAP_VADDR_END) { 103 if (addr0 >= Memory::HEAP_VADDR && addr0 < Memory::HEAP_VADDR_END) {
103 ResultCode result = process.HeapFree(addr0, size); 104 ResultCode result = process.HeapFree(addr0, size);
104 if (result.IsError()) return result; 105 if (result.IsError()) return result;
@@ -798,6 +799,7 @@ static ResultCode CreateMemoryBlock(Handle* out_handle, u32 addr, u32 size, u32
798 case MemoryPermission::Read: 799 case MemoryPermission::Read:
799 case MemoryPermission::Write: 800 case MemoryPermission::Write:
800 case MemoryPermission::ReadWrite: 801 case MemoryPermission::ReadWrite:
802 case MemoryPermission::DontCare:
801 return true; 803 return true;
802 default: 804 default:
803 return false; 805 return false;