Fix UTF8 encoding fallback index (dotnet/coreclr#18387)
authorTarek Mahmoud Sayed <tarekms@microsoft.com>
Mon, 11 Jun 2018 19:23:26 +0000 (12:23 -0700)
committerGitHub <noreply@github.com>
Mon, 11 Jun 2018 19:23:26 +0000 (12:23 -0700)
commit2843fa1e3c52840f863b1cbd14d9f9379b4dc9e7
tree22375c849646f24e104627a06c09cedc10ed5897
parentb65e4f9e73f9c9bb30de5e58039be874d2f7f371
Fix UTF8 encoding fallback index (dotnet/coreclr#18387)

* Fix UTF8 encoding fallback index

When falling back in UTF8 decoding, we’ll call the DecoderFallbackBuffer.InternalFallback method which takes a pointer to the source bytes pointer which point to where we have progressed inside the source bytes. The problem is before calling DecoderFallbackBuffer.InternalFallback we call GetBytesUnknown which can adjust the source byte pointer and DecoderFallbackBuffer.InternalFallback need to be called with the pointer before the adjustment. The fix is simply storing the original pointer value of the source byte pointer before calling GetBytesUnknown and then pass the stored original pointer to DecoderFallbackBuffer.InternalFallback instead of the adjusted source byte pointer

* Fix the comment

Commit migrated from https://github.com/dotnet/coreclr/commit/d093d9a9c83182f92a84c05af89e4859611d095a
src/libraries/System.Private.CoreLib/src/System/Text/UTF8Encoding.cs