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