diff --git a/lib/path.cpp b/lib/path.cpp index f7943980924..8b0b75c8ca0 100644 --- a/lib/path.cpp +++ b/lib/path.cpp @@ -164,7 +164,8 @@ std::string Path::getCurrentExecutablePath(const char* fallback) #else // Linux "/proc/self/exe"; #endif - success = (readlink(procPath, buf, sizeof(buf)) != -1); + // readlink does not null-terminate the string if the buffer is too small, therefore write bufsize - 1 + success = (readlink(procPath, buf, sizeof(buf) - 1) != -1); #endif return success ? std::string(buf) : std::string(fallback); }