Explorar el Código

core: hle: service: sm: Fix KPort reference count.

bunnei hace 4 años
padre
commit
8873c0c3db
Se han modificado 1 ficheros con 2 adiciones y 0 borrados
  1. 2 0
      src/core/hle/service/sm/sm.cpp

+ 2 - 0
src/core/hle/service/sm/sm.cpp

@@ -81,6 +81,8 @@ ResultVal<Kernel::KPort*> ServiceManager::GetServicePort(const std::string& name
     }
     }
 
 
     auto* port = Kernel::KPort::Create(kernel);
     auto* port = Kernel::KPort::Create(kernel);
+    SCOPE_EXIT({ port->Close(); });
+
     port->Initialize(ServerSessionCountMax, false, name);
     port->Initialize(ServerSessionCountMax, false, name);
     auto handler = it->second;
     auto handler = it->second;
     port->GetServerPort().SetSessionHandler(std::move(handler));
     port->GetServerPort().SetSessionHandler(std::move(handler));