From 8a2b6bd6881e1c6534ac31a74c7f6a1193a8d95d Mon Sep 17 00:00:00 2001 From: Nick Bolton Date: Tue, 15 Apr 2025 23:10:46 +0100 Subject: [PATCH] fix(daemon): Validate process handle and ID before shutdown --- src/lib/platform/MSWindowsProcess.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/platform/MSWindowsProcess.cpp b/src/lib/platform/MSWindowsProcess.cpp index 402a885a4..096dccb4a 100644 --- a/src/lib/platform/MSWindowsProcess.cpp +++ b/src/lib/platform/MSWindowsProcess.cpp @@ -121,6 +121,16 @@ void MSWindowsProcess::shutdown(HANDLE handle, DWORD pid, int timeout) { LOG_DEBUG("shutting down process %d", pid); + if (handle == nullptr) { + LOG_ERR("invalid process handle, cannot shutdown process %d", pid); + return; + } + + if (pid == 0) { + LOG_ERR("invalid process id, cannot shutdown process %d", pid); + return; + } + LOG_DEBUG("sending close event to close process gracefully"); HANDLE hCloseEvent = OpenEvent(EVENT_MODIFY_STATE, FALSE, kCloseEventName); if (hCloseEvent != nullptr) { // NOSONAR -- Readability