[ 
https://issues.apache.org/jira/browse/XALANC-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13644163#comment-13644163
 ] 

Steven J. Hathaway commented on XALANC-743:
-------------------------------------------

FYI.

The current version of Xalan-C (XSLT) is 1.11 and uses Xerces-C (XML 
Parser) versions 3.0 or newer.
The distribution Xalan-C 1.11 is built using Xerces-C version 3.1.1.

The older Xalan-C (XSLT) version 1.10 was built using Xerces-C version 2.7.
The latest Xerces-C in the (2) series is version 2.8.

Sincerely,
Steven J. Hathaway



                
> XalanOutputStream::transcode falls into infinite loop on 4 bytes unicode till 
> out of memory
> -------------------------------------------------------------------------------------------
>
>                 Key: XALANC-743
>                 URL: https://issues.apache.org/jira/browse/XALANC-743
>             Project: XalanC
>          Issue Type: Bug
>          Components: XalanC
>    Affects Versions: 1.10
>         Environment: Linux
>            Reporter: Jiangbei Fan
>            Assignee: Steven J. Hathaway
>
> In some rare cases, XalanTransformer::transform would stuck or crash when the 
> input/stylesheet contains 4-byte unicode. And I traced down the root cause in 
> XalanOutputStream::transcode
> When the transcode buffer contains unicode of size 4 bytes, and the last 
> XalanDOMChar in the buffer is the first 2 bytes of a 4-byte unicode char. The 
> XalanOutputStream::transcode will fall into an infinite loop till it is out 
> of memory. As XMLUTF8Transcoder.cpp in xerces will not consume the last 
> 2-bytes if it is part of 4 byte unicode. And transcode always loop until all 
> chars in the buffer is eaten. Specifically this will happen when the last 
> XalanDOMChar  in the input buffer is between 0xD800 and 0xDBFF.
> I cannot find whether this issue has been reported before. This is version 
> 1.10.  I do have a fix to add a bool reference to the function, so that the 
> caller can push the last 2 byte back to the buffer if not consumed. But want 
> to check it out before submit any fixes.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@xalan.apache.org
For additional commands, e-mail: dev-h...@xalan.apache.org

Reply via email to