aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/sm/sm.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-10-30 20:58:20 -0400
committerLiam <byteslice@airmail.cc>2022-10-31 08:23:29 -0400
commit4e9adae5da95219b85f11309919944bc07c4043d (patch)
tree7da5ffe32d5e20c9d5989a2cec7cc5c96a83f796 /src/core/hle/service/sm/sm.cpp
parentd8ff939edcf5b9eb1ae30c22b38e91a3788fcd07 (diff)
kernel: more complete fix for KPort reference counting
Diffstat (limited to 'src/core/hle/service/sm/sm.cpp')
-rw-r--r--src/core/hle/service/sm/sm.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index e2b8d8720..cb6c0e96f 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -149,9 +149,10 @@ ResultVal<Kernel::KClientSession*> SM::GetServiceImpl(Kernel::HLERequestContext&
return port_result.Code();
}
auto& port = port_result.Unwrap();
- SCOPE_EXIT({ port->GetClientPort().Close(); });
-
- kernel.RegisterServerObject(&port->GetServerPort());
+ SCOPE_EXIT({
+ port->GetClientPort().Close();
+ port->GetServerPort().Close();
+ });
// Create a new session.
Kernel::KClientSession* session{};