You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by "Steven J. Hathaway (Resolved) (JIRA)" <xa...@xml.apache.org> on 2011/11/07 23:20:51 UTC

[jira] [Resolved] (XALANC-715) NULL pointer access => crash

     [ https://issues.apache.org/jira/browse/XALANC-715?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven J. Hathaway resolved XALANC-715.
---------------------------------------

    Resolution: Fixed
    
> NULL pointer access => crash
> ----------------------------
>
>                 Key: XALANC-715
>                 URL: https://issues.apache.org/jira/browse/XALANC-715
>             Project: XalanC
>          Issue Type: Bug
>          Components: XalanC
>    Affects Versions: CurrentCVS
>         Environment: Any
>            Reporter: Michael Kupchuk
>            Assignee: Steven J. Hathaway
>              Labels: crash
>             Fix For: CurrentCVS
>
>         Attachments: crash.xsl, empty-nodeset-patch.diff, empty-nodeset-patch.diff-rev1, test.xml
>
>
> Using a xalan:nodeset with an empty parameter causes it to return nodeset with no data, no parents, completly empty, which in further operations causes a NULL pointer access in release or debug assertion in debug.
> Maybe it's not a "very proper" use of xalan:nodeset, but IMHO crash/assertion is not the correct behaviour at all.
> Here is an example xslt to reproduce crash:
> <?xml version='1.0' encoding='windows-1251'?>
> <xsl:stylesheet exclude-result-prefixes="xalan" xmlns:xalan = "http://xml.apache.org/xalan" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
> <xsl:output method="html" indent="yes" encoding='windows-1251'/>
> <xsl:strip-space elements="*"/>
>   <xsl:template name="head-with-info">
>     <xsl:param name="head"/>
>     <xsl:param name="info"/>
>     <xsl:if test="xalan:nodeset($head)/node()">
>       <div class="heading"><xsl:copy-of select="$head"/></div>
>     </xsl:if>
>     <xsl:if test="string-length($info)>0 and xalan:nodeset($info)/node()">
>       <div class="group-info"><xsl:copy-of select="$info"/></div>
>     </xsl:if>
>   </xsl:template>
> <xsl:template match="*" name="test">
>     <xsl:value-of select="test_node/inner_test"/>
>     <xsl:call-template name="head-with-info">
>       <!-- <xsl:with-param name="head"><span>test head</span></xsl:with-param> -->
>       <xsl:with-param name="info"><span>test info</span></xsl:with-param>
>     </xsl:call-template>
> </xsl:template>
> </xsl:stylesheet>

--
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: xalan-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-dev-help@xml.apache.org