wasmtime-dotnet icon indicating copy to clipboard operation
wasmtime-dotnet copied to clipboard

Extensions are not working properly in NetStandard2.0

Open wkirschenmann opened this issue 1 year ago • 0 comments

When passing an empty string as the module name, a NullReferenceException is thrown at System.Text.UTF8Encoding.GetBytes(Char* chars, Int32 charCount, Byte* bytes, Int32 byteCount) in System.Text\UTF8Encoding.cs:line 433

This comes from the following code

        [MethodImpl(MethodImplOptions.AggressiveInlining)]
        public static unsafe int GetBytes(this Encoding encoding, string chars, Span<byte> bytes)
        {
            fixed (char* charsPtr = chars)
            fixed (byte* bytesPtr = bytes)
            {
                return encoding.GetBytes(charsPtr, chars.Length, bytesPtr, bytes.Length);
            }
        }

at Wasmtime.Extensions.GetBytes(Encoding encoding, String chars, Span<byte> bytes) in Wasmtime\Extensions.cs

I'd suggest adding the following at the beginning of the GetBytes functions:

if (chars.Length == 0 && bytes.Length == 0) 
  return 0;

wkirschenmann avatar May 25 '24 18:05 wkirschenmann