Просмотр исходного кода

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

bunnei 5 лет назад
Родитель
Сommit
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;