summaryrefslogtreecommitdiff
path: root/src/core/hle/svc.cpp
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-05-22 22:49:29 -0400
committerbunnei <ericbunnie@gmail.com>2014-05-22 22:49:29 -0400
commitf8a98ab0228f25431d2df87f88310b41bb381b8e (patch)
tree549aaa634b0653346f869673052560df25a46871 /src/core/hle/svc.cpp
parent7bb66421a08ee4c061d7336efc20c69f70e97cd9 (diff)
svc: added a check to ensure that a service was implemented before attempting to connect to its port
Diffstat (limited to 'src/core/hle/svc.cpp')
-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
/// Connect to an OS service given the port name, returns the handle to the port to out
Result ConnectToPort(void* out, const char* port_name) {
Service::Interface* service = Service::g_manager->FetchFromPortName(port_name);
- Core::g_app_core->SetReg(1, service->GetHandle());
+ if (service) {
+ Core::g_app_core->SetReg(1, service->GetHandle());
+ } else {
+ PanicYesNo("ConnectToPort called port_name=%s, but it is not implemented!", port_name);
+ }
DEBUG_LOG(SVC, "ConnectToPort called port_name=%s", port_name);
return 0;
}