-
Notifications
You must be signed in to change notification settings - Fork 370
Closed
Labels
bug 🐛An unexpected issue that highlights incorrect behaviorAn unexpected issue that highlights incorrect behavior
Description
Describe the bug
IBufferWriterExtension.Write method for unmanaged types creates a Span with invalid length:
int length = sizeof(T);
Span<byte> span = writer.GetSpan(1);should be:
int length = sizeof(T);
Span<byte> span = writer.GetSpan(length);That causes System.ArgumentException : The current buffer writer can't contain the requested input data. at runtime.
Steps to reproduce
Leave only one byte of free capacity and write a larger unmanaged type:
using var buffer = new ArrayPoolBufferWriter<byte>(16);
var count = buffer.Capacity - 1;
for (int i = 0; i < count; i++)
{
buffer.Write<byte>(0);
}
buffer.Write(1.0);Expected behavior
It should grow the buffer accordingly.
IDE and version
VS 2022
IDE version
No response
Nuget packages
- CommunityToolkit.Common
- CommunityToolkit.Diagnostics
- CommunityToolkit.HighPerformance
- CommunityToolkit.Mvvm (aka MVVM Toolkit)
Nuget package version(s)
8.2.2
Help us help you
Yes, I'd like to be assigned to work on this item
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bug 🐛An unexpected issue that highlights incorrect behaviorAn unexpected issue that highlights incorrect behavior