Skip to content

Extensions are not working properly in NetStandard2.0 #307

@wkirschenmann

Description

@wkirschenmann

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;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions