fix: Fixes an edge case in GetString that can cause a crash while parsing (#2155)
This commit is contained in:
parent
872de8d095
commit
5a23d9f6f8
1 changed files with 10 additions and 2 deletions
|
|
@ -147,8 +147,16 @@ public static class TextEncoding
|
||||||
while (index != -1)
|
while (index != -1)
|
||||||
{
|
{
|
||||||
sb.Append(chars[..index]);
|
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)
|
if (chars.Length > 0)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue