Skip to content

Commit 40e49b9

Browse files
committed
Marshal string
1 parent bf85fad commit 40e49b9

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

Runtime/Code/Luau/LuauPlugin.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -474,13 +474,14 @@ public static IntPtr LuauCreateThread(LuauContext context, byte[] scriptBytecode
474474
var scriptBytecodeHandle = GCHandle.Alloc(scriptBytecode, GCHandleType.Pinned);
475475
var scriptBytecodePtr = scriptBytecodeHandle.AddrOfPinnedObject();
476476

477-
var filenameBytes = Encoding.UTF8.GetBytes(filename);
478-
var filenameLength = Encoding.UTF8.GetByteCount(filename);
479-
var filenameHandle = GCHandle.Alloc(filenameBytes, GCHandleType.Pinned);
480-
var filenamePtr = filenameHandle.AddrOfPinnedObject();
477+
var filenamePtr = Marshal.StringToCoTaskMemUTF8(filename);
478+
var filenameLength = Encoding.Unicode.GetByteCount(filename);
481479

482480
var returnValue = CreateThread(context, scriptBytecodePtr, scriptBytecode.Length, filenamePtr, filenameLength, gameObjectId, nativeCodegen);
483481

482+
Marshal.FreeCoTaskMem(filenamePtr);
483+
scriptBytecodeHandle.Free();
484+
484485
EndExecutionCheck();
485486

486487
return returnValue;

0 commit comments

Comments
 (0)