From aeba2261d2ccbbbf457f1e5985344cdf230e7a34 Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sun, 2 Jun 2024 15:01:18 -0700 Subject: [PATCH] fix: Fixes reading multiple strings (books) (#1814) --- Projects/Server/Buffers/SpanReader.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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)]