Преглед изворни кода

hle: kernel: k_server_session: Ensure service thread is valid before dereference.

bunnei пре 5 година
родитељ
комит
93f93cb8bc
1 измењених фајлова са 3 додато и 1 уклоњено
  1. 3 1
      src/core/hle/kernel/k_server_session.cpp

+ 3 - 1
src/core/hle/kernel/k_server_session.cpp

@@ -119,9 +119,11 @@ ResultCode KServerSession::QueueSyncRequest(KThread* thread, Core::Memory::Memor
 
     context->PopulateFromIncomingCommandBuffer(kernel.CurrentProcess()->GetHandleTable(), cmd_buf);
 
-    if (auto strong_ptr = manager->GetServiceThread().lock()) {
+    if (auto strong_ptr = manager->GetServiceThread().lock(); strong_ptr) {
         strong_ptr->QueueSyncRequest(*parent, std::move(context));
         return ResultSuccess;
+    } else {
+        ASSERT(false, "strong_ptr was nullptr!");
     }
 
     return ResultSuccess;