summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2018-08-11 21:15:24 -0400
committerGravatar bunnei2018-08-11 21:15:24 -0400
commitca4bf671ce49bbf69ecf55c32e2c8aaceb18e06f (patch)
tree7bd4fb11f034b86a7c2e833055e348419a92a809
parentMerge pull request #1010 from bunnei/unk-vert-attrib-shader (diff)
downloadyuzu-ca4bf671ce49bbf69ecf55c32e2c8aaceb18e06f.tar.gz
yuzu-ca4bf671ce49bbf69ecf55c32e2c8aaceb18e06f.tar.xz
yuzu-ca4bf671ce49bbf69ecf55c32e2c8aaceb18e06f.zip
server_session: Provide more useful information and don't crash on bad IPC request.
Diffstat (limited to '')
-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 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: {