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 | ea851aaeb8043c7851ea2d3b2bdb319758d0d42c (patch) | |
| tree | 60cd2f2f3422f47f5cadb04f71a69de9924921f0 /src/core/hle/kernel/k_port.cpp | |
| parent | 227f9e5ab29ee164e66e3b4dcd2ee51190cc1837 (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/core/hle/kernel/k_port.cpp')
| -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 723a1b5719..223c0b205b 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; } |
