From d56b2cc4c2e63a577f420784aeab8a0d0dba3de2 Mon Sep 17 00:00:00 2001 From: William JCM Date: Tue, 20 Apr 2021 15:55:06 +0200 Subject: [PATCH] Use a scope guard for more safety. --- MassBuilderManager/MassBuilderManager.cpp | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/MassBuilderManager/MassBuilderManager.cpp b/MassBuilderManager/MassBuilderManager.cpp index dc1be5f..13b84e9 100644 --- a/MassBuilderManager/MassBuilderManager.cpp +++ b/MassBuilderManager/MassBuilderManager.cpp @@ -23,6 +23,7 @@ #include #include +#include #include #include @@ -52,6 +53,8 @@ auto MassBuilderManager::checkGameState() -> GameState { _gameState = GameState::Unknown; if(WTSEnumerateProcessesW(WTS_CURRENT_SERVER_HANDLE, 0, 1, &process_infos, &process_count)) { + Containers::ScopeGuard guard{process_infos, WTSFreeMemory}; + for(unsigned long i = 0; i < process_count; ++i) { if(std::wcscmp(process_infos[i].pProcessName, L"MASS_Builder-Win64-Shipping.exe") == 0) { _gameState = GameState::Running; @@ -63,11 +66,6 @@ auto MassBuilderManager::checkGameState() -> GameState { } } - if(process_infos != nullptr) { - WTSFreeMemory(process_infos); - process_infos = nullptr; - } - return _gameState; }