fix: Fixes an edge case in GetString that can cause a crash while parsing (#2155)

This commit is contained in:
Kamron Batman 2025-04-12 12:52:10 -07:00 committed by GitHub
parent 872de8d095
commit 5a23d9f6f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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)