aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/server_session.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-11 22:42:45 -0400
committerGitHub <noreply@github.com>2018-08-11 22:42:45 -0400
commit6a396d2129137ffbde2066655bbcdae4d393af86 (patch)
tree63ddc210f605401aca27d4b2e42305f28b59d948 /src/core/hle/kernel/server_session.cpp
parentdb6b59b1a6c74960ea7710d064db043c3dc3ed55 (diff)
parent94a58af2a2aa74f1aa0d908b85481d8781fad523 (diff)
Merge pull request #1022 from bunnei/fix-splat
Several Friend service fixes
Diffstat (limited to 'src/core/hle/kernel/server_session.cpp')
-rw-r--r--src/core/hle/kernel/server_session.cpp8
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 93560152f9..d09ca59920 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
const u32 object_id{context.GetDomainMessageHeader()->object_id};
switch (domain_message_header->command) {
case IPC::DomainMessageHeader::CommandType::SendMessage:
+ if (object_id > domain_request_handlers.size()) {
+ LOG_CRITICAL(IPC,
+ "object_id {} is too big! This probably means a recent service call "
+ "to {} needed to return a new interface!",
+ object_id, name);
+ UNREACHABLE();
+ return RESULT_SUCCESS; // Ignore error if asserts are off
+ }
return domain_request_handlers[object_id - 1]->HandleSyncRequest(context);
case IPC::DomainMessageHeader::CommandType::CloseVirtualHandle: {