Преглед на файлове

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.
bunnei преди 5 години
родител
ревизия
e33ffdc555
променени са 1 файла, в които са добавени 1 реда и са изтрити 1 реда
  1. 1 1
      src/core/hle/kernel/k_port.cpp

+ 1 - 1
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;
 }