From 28b02856efcf598ca4e1e0d0a6e8e4d3c313248d Mon Sep 17 00:00:00 2001
From: johnche <johnche@tencent.com>
Date: Thu, 23 Nov 2023 11:57:25 +0800
Subject: [PATCH] =?UTF-8?q?[unity]=E8=A7=A3=E5=86=B3xil2cpp=E4=B8=8B?=
 =?UTF-8?q?=EF=BC=8C=E5=80=BC=E7=B1=BB=E5=9E=8B=E6=97=A0=E5=8F=82=E6=9E=84?=
 =?UTF-8?q?=E9=80=A0=E5=AD=97=E6=AE=B5=E4=B8=BA=E9=9A=8F=E6=9C=BA=E5=80=BC?=
 =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../Editor/Resources/puerts/xil2cpp/Puerts_il2cpp.cpp.txt    | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/unity/Assets/core/upm/Editor/Resources/puerts/xil2cpp/Puerts_il2cpp.cpp.txt b/unity/Assets/core/upm/Editor/Resources/puerts/xil2cpp/Puerts_il2cpp.cpp.txt
index b9c7e7564d..5fa1220889 100644
--- a/unity/Assets/core/upm/Editor/Resources/puerts/xil2cpp/Puerts_il2cpp.cpp.txt
+++ b/unity/Assets/core/upm/Editor/Resources/puerts/xil2cpp/Puerts_il2cpp.cpp.txt
@@ -92,7 +92,10 @@ static void* ObjectAllocate(Il2CppClass *klass)
 {
     if (Class::IsValuetype(klass))
     {
-        return (void*)(new uint8_t[klass->native_size > 0 ? klass->native_size : (klass->instance_size - sizeof(Il2CppObject))]);
+        auto size = klass->native_size > 0 ? klass->native_size : (klass->instance_size - sizeof(Il2CppObject));
+        auto buff = (void*)(new uint8_t[size]);
+        memset(buff, 0, size);
+        return buff;
     } else {
         auto obj = il2cpp::vm::Object::New(klass);
         return obj;