diff options
author | bunnei <bunneidev@gmail.com> | 2021-05-20 20:09:55 -0700 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-05-20 21:41:52 -0700 |
commit | e33ffdc555a9a134c815073ba60973cb962790ef (patch) | |
tree | 60cd2f2f3422f47f5cadb04f71a69de9924921f0 /src | |
parent | b4fc2e52a2d51f8958b77fbe4fb76c854cd4593b (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.cpp | 2 |
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; } |