diff options
| author | 2021-05-20 20:09:55 -0700 | |
|---|---|---|
| committer | 2021-05-20 21:41:52 -0700 | |
| commit | e33ffdc555a9a134c815073ba60973cb962790ef (patch) | |
| tree | 60cd2f2f3422f47f5cadb04f71a69de9924921f0 /src | |
| parent | hle: kernel: Use host memory allocations for KSlabMemory. (diff) | |
| download | yuzu-e33ffdc555a9a134c815073ba60973cb962790ef.tar.gz yuzu-e33ffdc555a9a134c815073ba60973cb962790ef.tar.xz yuzu-e33ffdc555a9a134c815073ba60973cb962790ef.zip | |
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 '')
| -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) { | |||
| 56 | 56 | ||
| 57 | R_UNLESS(state == State::Normal, ResultPortClosed); | 57 | R_UNLESS(state == State::Normal, ResultPortClosed); |
| 58 | 58 | ||
| 59 | server.GetSessionRequestHandler()->ClientConnected(session); | ||
| 60 | server.EnqueueSession(session); | 59 | server.EnqueueSession(session); |
| 60 | server.GetSessionRequestHandler()->ClientConnected(server.AcceptSession()); | ||
| 61 | 61 | ||
| 62 | return RESULT_SUCCESS; | 62 | return RESULT_SUCCESS; |
| 63 | } | 63 | } |