Michael,
After supplying the patch in XALANC-715 for empty nodesets,
I can't get the following test to fail with a null pointer reference.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
version="1.0"
     xmlns:xalan='http://xml.apache.org/xalan'
     exclude-result-prefixes='xalan'>
 <xsl:output method="html" indent="yes" encoding='windows-1251'/>
<!-- The Test Template -->
 <xsl:template name='EmptyTest'>
  <xsl:param name='empty'/>
  <xsl:param name='bar'/>
  <parm-string parm='empty'><xsl:value-of select='$empty'/></parm-string>
  <parm-nodes  parm='empty'><xsl:copy-of  select='$empty'/></parm-nodes>
  <parm-string parm='bar'><xsl:value-of select='$bar'/></parm-string>
  <parm-nodes  parm='bar'><xsl:copy-of  select='$bar'/></parm-nodes>
  <xsl:if test='xalan:nodeset($bar)/node()'>
    <value param='bar'><xsl:copy-of select='$bar'/></value>
  </xsl:if>
  <xsl:if test='xalan:nodeset($empty)/node()'>
    <value parm='empty'><xsl:copy-of select='$empty'/></value>
  </xsl:if>
 </xsl:template>
<!-- The Main Template -->
 <xsl:template match='/'>
  <out>
   <xsl:call-template name='EmptyTest'>
    <xsl:with-param name='bar'><abc>my test line</abc></xsl:with-param>
   </xsl:call-template>
  </out>
 </xsl:template>
</xsl:stylesheet>

-------------------------

>
>     [
> https://issues.apache.org/jira/browse/XALANC-715?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13140164#comment-13140164
> ]
>
> Michael Kupchuk commented on XALANC-715:
> ----------------------------------------
>
> It seems like the main issue is in the "<xsl:if
> test="xalan:nodeset($head)/node()">" line. I can't see anything like this
> in your test.
> Have you tried my example transformation?
> The proposed patch removes asserts which will cause the same error deeper
> by stack.
>
>> 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, 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-unsubscr...@xml.apache.org
For additional commands, e-mail: xalan-dev-h...@xml.apache.org

Reply via email to