diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 5 |
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 | |||
| 102 | Process& src_process, | 102 | Process& src_process, |
| 103 | HandleTable& src_table) { | 103 | HandleTable& src_table) { |
| 104 | ParseCommandBuffer(src_cmdbuf, true); | 104 | ParseCommandBuffer(src_cmdbuf, true); |
| 105 | if (command_header->type == IPC::CommandType::Close) { | ||
| 106 | // Close does not populate the rest of the IPC header | ||
| 107 | return RESULT_SUCCESS; | ||
| 108 | } | ||
| 109 | |||
| 105 | // The data_size already includes the payload header, the padding and the domain header. | 110 | // The data_size already includes the payload header, the padding and the domain header. |
| 106 | size_t size = data_payload_offset + command_header->data_size - | 111 | size_t size = data_payload_offset + command_header->data_size - |
| 107 | sizeof(IPC::DataPayloadHeader) / sizeof(u32) - 4; | 112 | sizeof(IPC::DataPayloadHeader) / sizeof(u32) - 4; |