From a8c4854f60d72d083bd34b34a9ccccc7353d052c Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Tue, 19 Dec 2023 10:54:11 +0100 Subject: various TSAN/ASAN/LeakAnalyzer fixes (#622) * fix JobQueue test threading issue. The inner job queued with `QueueJob` would reference `I` from inside the captured closure which would subsequently disappear * made sure application exit is thread safe * don't try to access string data out of bounds * keep-alive flag is accessed from multiple threads * fix memory leaks in Zen upstream client code * TSAN fixes for Event --- src/zenserver/upstream/zen.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/zenserver/upstream/zen.cpp') diff --git a/src/zenserver/upstream/zen.cpp b/src/zenserver/upstream/zen.cpp index 8ae33597a..2d52236b3 100644 --- a/src/zenserver/upstream/zen.cpp +++ b/src/zenserver/upstream/zen.cpp @@ -59,6 +59,11 @@ ZenStructuredCacheClient::ZenStructuredCacheClient(const ZenStructuredCacheClien ZenStructuredCacheClient::~ZenStructuredCacheClient() { + RwLock::ExclusiveLockScope _(m_SessionStateLock); + for (auto& CacheEntry : m_SessionStateCache) + { + delete CacheEntry; + } } detail::ZenCacheSessionState* -- cgit v1.2.3