diff --git a/ohos_nweb/src/cef_delegate/nweb_handler_delegate.cc b/ohos_nweb/src/cef_delegate/nweb_handler_delegate.cc index 22e0bf04011da6aea0eef341f2b5b1296216bac9..4132b69886df8679f72ee3c9cc5634dd7ffaff66 100644 --- a/ohos_nweb/src/cef_delegate/nweb_handler_delegate.cc +++ b/ohos_nweb/src/cef_delegate/nweb_handler_delegate.cc @@ -93,6 +93,8 @@ #include "base/strings/string_number_conversions.h" #endif +#include "third_party/bounds_checking_function/include/securec.h" + #define MAX_FLOWBUF_DATA_SIZE 52428800 /* 50 MB */ #define MAX_ENTRIES 10 #define HEADER_SIZE (MAX_ENTRIES * 8) /* 10 * (int position + int length) */ @@ -285,7 +287,10 @@ char* CopyCefStringToChar(const CefString& str) { } int strLen = str.size() + 1; char* result = new char[strLen]{0}; - strncpy(result, str.ToString().c_str(), strLen); + if (strcpy_s(result, strLen, str.ToString().c_str()) != EOF) { + delete[] result; + return nullptr; + } return result; }