From 5a23d9f6f8a1d47694f8abb60e9939873455e33f Mon Sep 17 00:00:00 2001 From: Kamron Batman <3953314+kamronbatman@users.noreply.github.com> Date: Sat, 12 Apr 2025 12:52:10 -0700 Subject: [PATCH] fix: Fixes an edge case in GetString that can cause a crash while parsing (#2155) --- Projects/Server/Text/TextEncoding.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Projects/Server/Text/TextEncoding.cs b/Projects/Server/Text/TextEncoding.cs index 77cc707c1..b2f290f78 100644 --- a/Projects/Server/Text/TextEncoding.cs +++ b/Projects/Server/Text/TextEncoding.cs @@ -147,8 +147,16 @@ public static class TextEncoding while (index != -1) { sb.Append(chars[..index]); - chars = chars[(index + 1)..]; - index = chars.IndexOfAnyExceptInRange((char)0x20, (char)0xFFFD); + + if (index + 1 < chars.Length) + { + chars = chars[(index + 1)..]; + index = chars.IndexOfAnyExceptInRange((char)0x20, (char)0xFFFD); + } + else + { + index = -1; + } } if (chars.Length > 0)