Hello Tom, Here is another example that causes a crash, probably for the same reason but better be safe than sorry:
select xslt_process('<root xml_tb_version="2.0" type="struct" > <ttm type="int32" >60</ttm> <delta type="double" >0.75</delta> <ttm2 type="int32" >30</ttm2> <delta2 type="double" >0.75</delta2> <expMonthNum type="int32" >1</expMonthNum> <assetComb type="cell" > <item type="char" >calendar spread</item> </assetComb> </root>', '<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="root"> <xsl:for-each select="*"> <xsl:if test="item"> <elem type="{@type}" name="{global-name()}"> <xsl:value-of select="./item"/> </elem> <xsl:text> </xsl:text> </xsl:if> <xsl:if test="not(item)"> <elem type="{@type}" name="{name()}"> <xsl:value-of select="."/> </elem> <xsl:text> </xsl:text> </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet>','') A correct error report for this case would be something like "function global-name is unknown" (I've just replaced a correct "name" function with "global-name") but of course "failed to apply stylesheet" is still better than a crash :) Thanks, Peter Peter Gagarinov | Head of Modelling and Analytics Allied Testing -----Original Message----- From: Tom Lane [mailto:t...@sss.pgh.pa.us] Sent: Tuesday, June 05, 2012 4:16 AM To: Peter Gagarinov Cc: pgsql-bugs@postgresql.org Subject: Re: [BUGS] Calling xlst_process with certain arguments causes server crash I wrote: > Hm, apparently xsltApplyStylesheet returns a NULL in this example, and > we're passing that on to xsltSaveResultToString which is not expecting > any such thing. I presume we need another error check here, but what > should the error say exactly? Can we get any info more detailed than > "failed to apply stylesheet"? Apparently not -- or at least, if libxslt provides any easy way to extract error reports, it's not evident from the pretty-awful documentation. I've committed a fix that just reports "failed to apply stylesheet". regards, tom lane -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs