diff options
| author | 2019-03-29 18:01:38 -0400 | |
|---|---|---|
| committer | 2019-03-29 18:16:19 -0400 | |
| commit | c6147a439d16112a0794b3fb98e825a9be864066 (patch) | |
| tree | 5471089bf0b6b0b58517325fef2c6b0a634ac9cc /src/core/hle/kernel/svc.cpp | |
| parent | Merge pull request #2266 from FernandoS27/arbitration (diff) | |
| download | yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.gz yuzu-c6147a439d16112a0794b3fb98e825a9be864066.tar.xz yuzu-c6147a439d16112a0794b3fb98e825a9be864066.zip | |
kernel/shared_memory: Sanitize supplied size when unmapping
The kernel makes sure that the given size to unmap is always the same
size as the entire region managed by the shared memory instance,
otherwise it returns an error code signifying an invalid size.
This is similarly done for transfer memory (which we already check for).
Diffstat (limited to 'src/core/hle/kernel/svc.cpp')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 11796e5e5..fd98c0825 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -1140,7 +1140,7 @@ static ResultCode UnmapSharedMemory(Handle shared_memory_handle, VAddr addr, u64 | |||
| 1140 | return ERR_INVALID_MEMORY_RANGE; | 1140 | return ERR_INVALID_MEMORY_RANGE; |
| 1141 | } | 1141 | } |
| 1142 | 1142 | ||
| 1143 | return shared_memory->Unmap(*current_process, addr); | 1143 | return shared_memory->Unmap(*current_process, addr, size); |
| 1144 | } | 1144 | } |
| 1145 | 1145 | ||
| 1146 | static ResultCode QueryProcessMemory(VAddr memory_info_address, VAddr page_info_address, | 1146 | static ResultCode QueryProcessMemory(VAddr memory_info_address, VAddr page_info_address, |