This is an automated email from the ASF dual-hosted git repository.

swebb2066 pushed a commit to branch silence_sonar_cloud
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git

commit 3c8cf8934730ea3e098ba7b9a18dbd43650b4f33
Author: Stephen Webb <swebb2...@gmail.com>
AuthorDate: Wed Aug 20 15:36:12 2025 +1000

    Prevent SonarCloud failure
---
 src/main/cpp/system.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/main/cpp/system.cpp b/src/main/cpp/system.cpp
index 423c0136..e12efc4d 100644
--- a/src/main/cpp/system.cpp
+++ b/src/main/cpp/system.cpp
@@ -146,8 +146,15 @@ void System::addProgramFilePathComponents(Properties& 
props)
 #elif (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) || 
(defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L)
        std::ostringstream exeLink;
        exeLink << "/proc/" << getpid() << "/exe";
-       bufCount = readlink(exeLink.str().c_str(), buf, bufSize);
-       if (0 < bufCount)
+       if ((bufCount = readlink(exeLink.str().c_str(), buf, bufSize)) <= 0)
+       {
+               LOG4CXX_DECODE_CHAR(lsExeLink, exeLink.str());
+               LogLog::error(LOG4CXX_STR("Failed to read ") + lsExeLink);
+               return;
+       }
+       if (bufSize < bufCount)
+               buf[bufSize] = 0;
+       else
                buf[bufCount] = 0;
 #else
        LogLog::warn(LOG4CXX_STR("Unable to determine the name of the 
executable file on this system"));

Reply via email to