From 81a679d73ff5e3b06b52ff56c38c573d82fa0792 Mon Sep 17 00:00:00 2001 From: yaoyuan Date: Fri, 29 Apr 2022 10:15:53 +0800 Subject: [PATCH] Write size-1 to ensure buffer has space for '\0' Signed-off-by: yaoyuan Change-Id: Iae3b29c7a866dbc56a13c7890c97d5728b47643d --- native_engine/impl/ark/native_value/ark_native_string.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/native_engine/impl/ark/native_value/ark_native_string.cpp b/native_engine/impl/ark/native_value/ark_native_string.cpp index b16ae52..ded5fd5 100644 --- a/native_engine/impl/ark/native_value/ark_native_string.cpp +++ b/native_engine/impl/ark/native_value/ark_native_string.cpp @@ -47,7 +47,7 @@ void ArkNativeString::GetCString(char* buffer, size_t size, size_t* length) if (buffer == nullptr) { *length = val->Utf8Length() - 1; } else if (size != 0) { - int copied = val->WriteUtf8(buffer, size) - 1; + int copied = val->WriteUtf8(buffer, size - 1) - 1; buffer[copied] = '\0'; *length = copied; } else {