[
https://issues.apache.org/jira/browse/XALANJ-2527?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13208442#comment-13208442
]
Jörg Prante commented on XALANJ-2527:
-------------------------------------
This issue can happen in JDK 6 if an Attribute is created with SAX
AttributeImpl addAttribute() method and a "type" string argument of null. In
subsequent calls, when expressions like @* are evaluated, the attribute's type
is used with getType() but without a null check and NPE will occur.
In JDK 6, there is no sanity check in AttributeImpl to prevent null types for
attributes as it seems.
Fix: if no "type" for an attribute can be defined, always pass explicit "CDATA"
as an addAttribute() "type" string argument, and override JDK6
TransformerFactory with Xalan 2.7.1 for correct @* attribute evaluation.
> NPE during transforation -
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform
> -------------------------------------------------------------------------------------------------
>
> Key: XALANJ-2527
> URL: https://issues.apache.org/jira/browse/XALANJ-2527
> Project: XalanJ2
> Issue Type: Bug
> Security Level: No security risk; visible to anyone(Ordinary problems in
> Xalan projects. Anybody can view the issue.)
> Components: XSLTC
> Reporter: Ondra Žižka
> Attachments: Xslt.java, addJBossRepo.xsl, pom.xml
>
>
> This happens in Sun JDK 1.6.0, so perhaps it should go to JDK's issue tracker.
> STR:
> 1) Get the attached source, compile it
> 2) Get the other files
> 3) Run `java Xslt pom.xml addJBossRepo.xsl pom2.xml`
> You'll get the NPE.
> ondra@ondra-redhat: ~/work/hbn/runner/EAP-5.1/xslt $ java Xslt pom.xml
> addJBossRepo.xsl pom2.xml
> export JAVA_HOME=/home/ondra/sw/tools/jdk/sun160_17
> Error: java.lang.NullPointerException
> Error during transformation
> javax.xml.transform.TransformerException:
> com.sun.org.apache.xalan.internal.xsltc.TransletException:
> java.lang.NullPointerException
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:713)
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
> Caused by: com.sun.org.apache.xalan.internal.xsltc.TransletException:
> java.lang.NullPointerException
> at
> com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at
> com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at
> com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> ... 3 more
> ---------
> com.sun.org.apache.xalan.internal.xsltc.TransletException:
> java.lang.NullPointerException
> at
> com.sun.org.apache.xalan.internal.xsltc.dom.SAXImpl.shallowCopy(SAXImpl.java:1743)
> at
> com.sun.org.apache.xalan.internal.xsltc.dom.DOMAdapter.shallowCopy(DOMAdapter.java:314)
> at addJBossRepo.template$dot$3()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.template$dot$0()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.applyTemplates()
> at addJBossRepo.transform()
> at
> com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:602)
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:709)
> at
> com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:313)
> at Xslt.transform(Xslt.java:44)
> at Xslt.main(Xslt.java:23)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]