You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Fix: Memory corruption on Windows due to missing null-terminator byte in getExecutableDir() #14
Description:
On Windows environments, the application terminates unexpectedly due to memory corruption. This is caused by an insufficient buffer allocation size when copying the executable path string in qode_helper.cc.
Cause:
In getExecutableDir(), executablePath.length() is used to allocate the exePath buffer. However, std::string::length() does not include the null-terminator (\0). When strcpy(exePath, executablePath.c_str()) is called, it writes the null-terminator past the allocated memory boundary, resulting in a 1-byte buffer overflow (memory corruption).
This bug is located here:
Activity