summaryrefslogtreecommitdiffstats
path: root/src/core/hle
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2018-01-07 07:59:31 +0100
committerbunnei <bunneidev@gmail.com>2018-01-07 23:11:49 +0100
commit7e3561b1cd3175d4e3104f03498adf03aca469bf (patch)
tree40853d21e7ed03043b907ff5457a47c80399f567 /src/core/hle
parentIPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests. (diff)
downloadyuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar.gz
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar.bz2
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar.lz
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar.xz
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.tar.zst
yuzu-7e3561b1cd3175d4e3104f03498adf03aca469bf.zip
Diffstat (limited to 'src/core/hle')
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index 518e44f33..0ab28c0a2 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -102,6 +102,11 @@ ResultCode HLERequestContext::PopulateFromIncomingCommandBuffer(u32_le* src_cmdb
Process& src_process,
HandleTable& src_table) {
ParseCommandBuffer(src_cmdbuf, true);
+ if (command_header->type == IPC::CommandType::Close) {
+ // Close does not populate the rest of the IPC header
+ return RESULT_SUCCESS;
+ }
+
// The data_size already includes the payload header, the padding and the domain header.
size_t size = data_payload_offset + command_header->data_size -
sizeof(IPC::DataPayloadHeader) / sizeof(u32) - 4;