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 {