[ https://issues.apache.org/jira/browse/XERCESC-2130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334309#comment-16334309 ]
Scott Cantor commented on XERCESC-2130: --------------------------------------- I don't believe the patch would cross any threshold of significance as to require a CLA, but that doesn't really matter. I am not touching this code, it would be just as likely to break ten other Unicode features as fix anything (I say that from a position of ignorance, I couldn't possibly know what it would do). Rolling back whatever broke this, depending on what *that* fixed, would be a more likely fix from my perspective. But I don't know anything about the original change, I didn't make it. If somebody else understands any of this and wants to take responsibility for the change, have at it. > UTF16 Surrgate values 0xD800-0xDFFF can not longer be written with xerces > 3.2.0 (e.g. emoticons) > ------------------------------------------------------------------------------------------------ > > Key: XERCESC-2130 > URL: https://issues.apache.org/jira/browse/XERCESC-2130 > Project: Xerces-C++ > Issue Type: Bug > Components: DOM > Affects Versions: 3.2.0 > Reporter: Andreas Krantz > Priority: Critical > Attachments: fix.patch, patch_.cpp, reproduce.cpp > > > Solution for XERCESC-1854 introduced method > {{DOMLSSerializerImpl::ensureValidString}} > which has an error in validation. > The method validates XMLCh which represent UTF16. > [Valid Characters|https://www.w3.org/TR/REC-xml/#NT-Char] #x9 | #xA | #xD | > [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] > are the valid UTF32 characters. > The UTF16 surrogate range from xD800 - xDFFF is used to represent > [#x10000-#x10FFFF] and should not be handled as nvalid. > *The reader threads this correctly and does not complain, which leads to an > asmetric behavior* > Reading DOM => OK > Save back DOM => Exception > I tried to attach an example to show the behavior. > The used methods > {{bool XMLChar1_1::isXMLChar(const XMLCh toCheck, const XMLCh toCheck2)}} > already have a second optional parameter to check surrogate values. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: c-dev-unsubscr...@xerces.apache.org For additional commands, e-mail: c-dev-h...@xerces.apache.org