From 9e864dbcd044a2ccd595428af780a1ea950e12f9 Mon Sep 17 00:00:00 2001 From: wplan1 Date: Thu, 21 Apr 2022 14:25:07 +0800 Subject: [PATCH] modify buf 1024 Signed-off-by: wplan1 --- frameworks/resmgr_lite/src/utils/string_utils.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/frameworks/resmgr_lite/src/utils/string_utils.cpp b/frameworks/resmgr_lite/src/utils/string_utils.cpp index c62419a..1bf6e84 100644 --- a/frameworks/resmgr_lite/src/utils/string_utils.cpp +++ b/frameworks/resmgr_lite/src/utils/string_utils.cpp @@ -24,6 +24,7 @@ namespace OHOS { namespace Global { namespace Resource { +constexpr int32_t MAX_BUFFER_LEN = 1024; std::string FormatString(const char *fmt, ...) { std::string strResult; @@ -40,15 +41,14 @@ std::string FormatString(const char *fmt, va_list args) { std::string strResult; if (fmt != nullptr) { + char buf[MAX_BUFFER_LEN] = {0}; va_list tmpArgs; va_copy(tmpArgs, args); - size_t nLength = vsnprintf(nullptr, 0, fmt, tmpArgs); // compute buffer size - va_end(tmpArgs); - std::vector vBuffer(nLength + 1, '\0'); - int nWritten = vsnprintf_s(&vBuffer[0], nLength + 1, nLength, fmt, args); + int nWritten = vsnprintf_s(buf, sizeof(buf), sizeof(buf) - 1, fmt, tmpArgs); if (nWritten > 0) { - strResult = &vBuffer[0]; + strResult.append(buf, nWritten); } + va_end(tmpArgs); } return strResult; } -- Gitee