diff options
author | Tanner Gooding <tagoo@outlook.com> | 2018-11-12 23:03:20 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-12 23:03:20 -0800 |
commit | af659aff6dc7f91a3b82d5e39d877e69b567e580 (patch) | |
tree | 013ff160e4bae419e46af2e92def00ec4743d320 /src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser | |
parent | b9975c7e1b3f941caaa8809d36c712af6e500a91 (diff) | |
download | coreclr-af659aff6dc7f91a3b82d5e39d877e69b567e580.tar.gz coreclr-af659aff6dc7f91a3b82d5e39d877e69b567e580.tar.bz2 coreclr-af659aff6dc7f91a3b82d5e39d877e69b567e580.zip |
Fixing Utf8Parser.Number to not modify the value of 'c' (#20967)
Diffstat (limited to 'src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser')
-rw-r--r-- | src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser/Utf8Parser.Number.cs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser/Utf8Parser.Number.cs b/src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser/Utf8Parser.Number.cs index 41fdc36cf5..f39d99fb22 100644 --- a/src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser/Utf8Parser.Number.cs +++ b/src/System.Private.CoreLib/shared/System/Buffers/Text/Utf8Parser/Utf8Parser.Number.cs @@ -84,8 +84,9 @@ namespace System.Buffers.Text while (srcIndex != source.Length) { c = source[srcIndex]; + int value = (byte)(c - (byte)('0')); - if ((c -= (byte)('0')) > 9) + if (value > 9) { break; } @@ -102,7 +103,7 @@ namespace System.Buffers.Text // for an input that falls evenly between two representable // results. - hasNonZeroTail |= c; + hasNonZeroTail |= value; } } number.HasNonZeroTail = (hasNonZeroTail != 0); @@ -138,8 +139,9 @@ namespace System.Buffers.Text while (srcIndex != source.Length) { c = source[srcIndex]; + int value = (byte)(c - (byte)('0')); - if ((c -= (byte)('0')) > 9) + if (value > 9) { break; } @@ -156,7 +158,7 @@ namespace System.Buffers.Text // for an input that falls evenly between two representable // results. - hasNonZeroTail |= c; + hasNonZeroTail |= value; } } number.HasNonZeroTail = (hasNonZeroTail != 0); |