Uploaded image for project: 'XalanJ2'
  1. XalanJ2
  2. XALANJ-2571

ArrayIndexOutOfBoundsException with supplementary characters, disable-output-escaping="yes"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • The Latest Development Code
    • None
    • Xalan
    • Security Level: No security risk; visible to anyone (Ordinary problems in Xalan projects. Anybody can view the issue.)
    • None

    Description

      When the input contains supplementary characters, and the stylesheet specifies disable-output-escaping="yes", there is a good chance you will get an ArrayIndexOutOfBoundsException in WriterToUTF8Buffered.

      javax.xml.transform.TransformerException: java.lang.ArrayIndexOutOfBoundsException: 1024
      at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:293)
      at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
      at org.apache.xalan.templates.ElemCopy.execute(ElemCopy.java:116)
      at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
      at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
      at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:395)
      at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:178)
      at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2400)
      at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2270)
      at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1356)
      at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709)
      at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1273)
      at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1251)
      at org.apache.qetest.xslwrapper.TraxSystemIdWrapper.transform(TraxSystemIdWrapper.java:181)
      at org.apache.qetest.xsl.StylesheetTestlet.testDatalet(StylesheetTestlet.java:229)
      at org.apache.qetest.xsl.StylesheetTestlet.execute(StylesheetTestlet.java:108)
      at org.apache.qetest.xsl.StylesheetTestletDriver.processFileList(StylesheetTestletDriver.java:441)
      at org.apache.qetest.xsl.StylesheetTestletDriver.processInputDir(StylesheetTestletDriver.java:397)
      at org.apache.qetest.xsl.StylesheetTestletDriver.runTestCases(StylesheetTestletDriver.java:285)
      at org.apache.qetest.TestImpl.runTest(TestImpl.java:205)
      at org.apache.qetest.FileBasedTest.doMain(FileBasedTest.java:833)
      at org.apache.qetest.xsl.StylesheetTestletDriver.main(StylesheetTestletDriver.java:951)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.apache.qetest.QetestUtils.main(QetestUtils.java:434)
      Caused by: java.lang.ArrayIndexOutOfBoundsException: 1024
      at org.apache.xml.serializer.WriterToUTF8Buffered.write(WriterToUTF8Buffered.java:290)
      at org.apache.xml.serializer.ToStream.charactersRaw(ToStream.java:1359)
      at org.apache.xml.serializer.ToStream.characters(ToStream.java:1432)
      at org.apache.xml.utils.FastStringBuffer.sendSAXcharacters(FastStringBuffer.java:999)
      at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.dispatchCharactersEvents(SAX2DTM.java:557)
      at org.apache.xpath.axes.LocPathIterator.executeCharsToContentHandler(LocPathIterator.java:247)
      at org.apache.xalan.templates.ElemValueOf.execute(ElemValueOf.java:274)
      ... 26 more

      There is a similar bug (XALANJ-2560), except that in that case the output is incorrect, and no exception is thrown.

      Attachments

        1. identity02.xml
          4 kB
          Daniel Rabe
        2. identity02.xsl
          1 kB
          Daniel Rabe

        Activity

          People

            shathaway Steven J. Hathaway
            drabe Daniel Rabe
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: