summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2014-05-22 22:49:29 -0400
committerGravatar bunnei2014-05-22 22:49:29 -0400
commitf8a98ab0228f25431d2df87f88310b41bb381b8e (patch)
tree549aaa634b0653346f869673052560df25a46871
parentlcd: added thread wait after (faked) vblank interrupt (would have) occurred (diff)
downloadyuzu-f8a98ab0228f25431d2df87f88310b41bb381b8e.tar.gz
yuzu-f8a98ab0228f25431d2df87f88310b41bb381b8e.tar.xz
yuzu-f8a98ab0228f25431d2df87f88310b41bb381b8e.zip
svc: added a check to ensure that a service was implemented before attempting to connect to its port
-rw-r--r--src/core/hle/svc.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index 8018a43a2..90c05cb74 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -84,7 +84,11 @@ Result MapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherper
84/// Connect to an OS service given the port name, returns the handle to the port to out 84/// Connect to an OS service given the port name, returns the handle to the port to out
85Result ConnectToPort(void* out, const char* port_name) { 85Result ConnectToPort(void* out, const char* port_name) {
86 Service::Interface* service = Service::g_manager->FetchFromPortName(port_name); 86 Service::Interface* service = Service::g_manager->FetchFromPortName(port_name);
87 Core::g_app_core->SetReg(1, service->GetHandle()); 87 if (service) {
88 Core::g_app_core->SetReg(1, service->GetHandle());
89 } else {
90 PanicYesNo("ConnectToPort called port_name=%s, but it is not implemented!", port_name);
91 }
88 DEBUG_LOG(SVC, "ConnectToPort called port_name=%s", port_name); 92 DEBUG_LOG(SVC, "ConnectToPort called port_name=%s", port_name);
89 return 0; 93 return 0;
90} 94}