summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-05-20 20:09:55 -0700
committerbunnei <bunneidev@gmail.com>2021-05-20 21:41:52 -0700
commite33ffdc555a9a134c815073ba60973cb962790ef (patch)
tree60cd2f2f3422f47f5cadb04f71a69de9924921f0 /src
parentb4fc2e52a2d51f8958b77fbe4fb76c854cd4593b (diff)
hle: kernel: k_port: Use AcceptSession to ensure SessionList state is correct.
- Fixes a use-after-free, work-around until we fixup session/port management.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/k_port.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/hle/kernel/k_port.cpp b/src/core/hle/kernel/k_port.cpp
index 723a1b571..223c0b205 100644
--- a/src/core/hle/kernel/k_port.cpp
+++ b/src/core/hle/kernel/k_port.cpp
@@ -56,8 +56,8 @@ ResultCode KPort::EnqueueSession(KServerSession* session) {
R_UNLESS(state == State::Normal, ResultPortClosed);
- server.GetSessionRequestHandler()->ClientConnected(session);
server.EnqueueSession(session);
+ server.GetSessionRequestHandler()->ClientConnected(server.AcceptSession());
return RESULT_SUCCESS;
}