Author: scantor Date: Mon Dec 30 16:10:54 2019 New Revision: 1872119 URL: http://svn.apache.org/viewvc?rev=1872119&view=rev Log: XERCESC-2158 - Multi-byte bug in UTF8 Transcoder
Modified: xerces/c/trunk/src/xercesc/util/XMLUTF8Transcoder.cpp Modified: xerces/c/trunk/src/xercesc/util/XMLUTF8Transcoder.cpp URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/util/XMLUTF8Transcoder.cpp?rev=1872119&r1=1872118&r2=1872119&view=diff ============================================================================== --- xerces/c/trunk/src/xercesc/util/XMLUTF8Transcoder.cpp (original) +++ xerces/c/trunk/src/xercesc/util/XMLUTF8Transcoder.cpp Mon Dec 30 16:10:54 2019 @@ -391,12 +391,13 @@ XMLUTF8Transcoder::transcodeFrom(const // // If we have enough room to store the leading and trailing // chars, then lets do it. Else, pretend this one never - // happened, and leave it for the next time. Since we don't - // update the bytes read until the bottom of the loop, by - // breaking out here its like it never happened. + // happened, and leave it for the next time. // if (outPtr + 1 >= outEnd) + { + srcPtr -= (trailingBytes + 1); break; + } // Store the leading surrogate char tmpVal -= 0x10000; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@xerces.apache.org For additional commands, e-mail: commits-h...@xerces.apache.org