diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/kernel/server_session.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/hle/kernel/server_session.cpp b/src/core/hle/kernel/server_session.cpp index 93560152f..d09ca5992 100644 --- a/src/core/hle/kernel/server_session.cpp +++ b/src/core/hle/kernel/server_session.cpp | |||
| @@ -71,6 +71,14 @@ ResultCode ServerSession::HandleDomainSyncRequest(Kernel::HLERequestContext& con | |||
| 71 | const u32 object_id{context.GetDomainMessageHeader()->object_id}; | 71 | const u32 object_id{context.GetDomainMessageHeader()->object_id}; |
| 72 | switch (domain_message_header->command) { | 72 | switch (domain_message_header->command) { |
| 73 | case IPC::DomainMessageHeader::CommandType::SendMessage: | 73 | case IPC::DomainMessageHeader::CommandType::SendMessage: |
| 74 | if (object_id > domain_request_handlers.size()) { | ||
| 75 | LOG_CRITICAL(IPC, | ||
| 76 | "object_id {} is too big! This probably means a recent service call " | ||
| 77 | "to {} needed to return a new interface!", | ||
| 78 | object_id, name); | ||
| 79 | UNREACHABLE(); | ||
| 80 | return RESULT_SUCCESS; // Ignore error if asserts are off | ||
| 81 | } | ||
| 74 | return domain_request_handlers[object_id - 1]->HandleSyncRequest(context); | 82 | return domain_request_handlers[object_id - 1]->HandleSyncRequest(context); |
| 75 | 83 | ||
| 76 | case IPC::DomainMessageHeader::CommandType::CloseVirtualHandle: { | 84 | case IPC::DomainMessageHeader::CommandType::CloseVirtualHandle: { |