From 4a255d211834a5d0218cf1d166180930754b16cd Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Thu, 31 Jul 2025 13:50:55 -0700 Subject: Fix bug in ci test (#8005) This commit fixes two problems. 1. uninitialized file handle for lock-file test 2. uninitialized static variable for lock-file test The first bug is more of speculartive rather than actual bug. The second bug was causing heap corruption when it was retried, because the counter was not reset to zero on "retry" and it wrote data to an invalida range in an array. --- source/core/slang-io.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'source/core/slang-io.cpp') diff --git a/source/core/slang-io.cpp b/source/core/slang-io.cpp index 851c70073..0720e788f 100644 --- a/source/core/slang-io.cpp +++ b/source/core/slang-io.cpp @@ -1316,9 +1316,17 @@ void LockFile::close() return; #if SLANG_WINDOWS_FAMILY - ::CloseHandle(m_fileHandle); + if (m_fileHandle != INVALID_HANDLE_VALUE) + { + ::CloseHandle(m_fileHandle); + m_fileHandle = INVALID_HANDLE_VALUE; + } #else - ::close(m_fileHandle); + if (m_fileHandle != -1) + { + ::close(m_fileHandle); + m_fileHandle = -1; + } #endif m_isOpen = false; @@ -1409,6 +1417,11 @@ SlangResult LockFile::unlock() LockFile::LockFile() : m_isOpen(false) { +#if SLANG_WINDOWS_FAMILY + m_fileHandle = INVALID_HANDLE_VALUE; +#else + m_fileHandle = -1; +#endif } LockFile::~LockFile() -- cgit v1.2.3