From e33ffdc555a9a134c815073ba60973cb962790ef Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 20 May 2021 20:09:55 -0700 Subject: [PATCH] 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. --- src/core/hle/kernel/k_port.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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; }