diff --git a/Projects/Server/Buffers/SpanReader.cs b/Projects/Server/Buffers/SpanReader.cs index 31dc8e46f..2b7eca165 100644 --- a/Projects/Server/Buffers/SpanReader.cs +++ b/Projects/Server/Buffers/SpanReader.cs @@ -195,11 +195,12 @@ public ref struct SpanReader var span = _buffer.Slice(Position, size); var index = span.IndexOfTerminator(byteLength); + span = _buffer.Slice(Position, index); - Position += isFixedLength || index < 0 ? size : index; + Position += isFixedLength || index < 0 ? size : index + 1; // The string is either as long as the first terminator character, remaining buffer size, or fixed length. - return TextEncoding.GetString(span[..(index < 0 ? size : index)], encoding, safeString); + return TextEncoding.GetString(span, encoding, safeString); } [MethodImpl(MethodImplOptions.AggressiveInlining)]