diff options
| author | 2014-05-22 22:49:29 -0400 | |
|---|---|---|
| committer | 2014-05-22 22:49:29 -0400 | |
| commit | f8a98ab0228f25431d2df87f88310b41bb381b8e (patch) | |
| tree | 549aaa634b0653346f869673052560df25a46871 /src | |
| parent | lcd: added thread wait after (faked) vblank interrupt (would have) occurred (diff) | |
| download | yuzu-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
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/svc.cpp | 6 |
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 |
| 85 | Result ConnectToPort(void* out, const char* port_name) { | 85 | Result 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 | } |