From 3f266e0005bedabaa9f814d13246a91518050e97 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Thu, 25 Apr 2024 12:57:10 +0200 Subject: zenserverprocess hardening (#61) * verify running process before creating event * make sure we don't signal/wait for a zenserver instance that we did not wait for to get ready --- src/zencore/thread.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/zencore/thread.cpp') diff --git a/src/zencore/thread.cpp b/src/zencore/thread.cpp index cb3aced33..06093d6b0 100644 --- a/src/zencore/thread.cpp +++ b/src/zencore/thread.cpp @@ -326,6 +326,7 @@ NamedEvent::NamedEvent(std::string_view EventName) Packed |= intptr_t(Fd) & 0xffff'ffff; m_EventHandle = (void*)Packed; #endif + ZEN_ASSERT(m_EventHandle != nullptr); } NamedEvent::~NamedEvent() @@ -365,6 +366,7 @@ NamedEvent::Close() void NamedEvent::Set() { + ZEN_ASSERT(m_EventHandle != nullptr); #if ZEN_PLATFORM_WINDOWS SetEvent(m_EventHandle); #elif ZEN_PLATFORM_LINUX || ZEN_PLATFORM_MAC @@ -376,6 +378,7 @@ NamedEvent::Set() bool NamedEvent::Wait(int TimeoutMs) { + ZEN_ASSERT(m_EventHandle != nullptr); #if ZEN_PLATFORM_WINDOWS const DWORD Timeout = (TimeoutMs < 0) ? INFINITE : TimeoutMs; -- cgit v1.2.3