Explorar el Código

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 hace 5 años
padre
commit
e33ffdc555
Se han modificado 1 ficheros con 1 adiciones y 1 borrados
  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;
 }