From 937a7c45feed06d2245bee5d11b9ada82254d2ce Mon Sep 17 00:00:00 2001 From: ToruNiina Date: Wed, 11 Oct 2023 01:44:06 +0900 Subject: [PATCH] feat: fill char buffer with null char those funcs always return null-terminated string but just to make it sure --- toml/exception.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/toml/exception.hpp b/toml/exception.hpp index 3702a8d..927d791 100644 --- a/toml/exception.hpp +++ b/toml/exception.hpp @@ -27,6 +27,7 @@ inline std::string str_error(int errnum) #ifdef _MSC_VER // MSVC constexpr std::size_t bufsize = 256; std::array buf; + buf.fill('\0'); const auto result = strerror_s(buf.data(), bufsize, errnum); if(result != 0) { @@ -39,11 +40,13 @@ inline std::string str_error(int errnum) #elif defined(_GNU_SOURCE) constexpr std::size_t bufsize = 256; std::array buf; + buf.fill('\0'); const char* result = strerror_r(errnum, buf.data(), bufsize); return std::string(result); #elif (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200112L) || (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 600) constexpr std::size_t bufsize = 256; std::array buf; + buf.fill('\0'); const int result = strerror_r(errnum, buf.data(), bufsize); if (result != 0) {