????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 216.73.216.116 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/xsl/tests/ |
Upload File : |
--TEST-- bug #49634 (Segfault throwing an exception in a XSL registered function) --SKIPIF-- <?php extension_loaded("xsl") or die("skip need ext/xsl"); ?> --FILE-- <?php $sXml = <<<XML <?xml version="1.0" encoding="UTF-8" ?> <root> test </root> XML; $cDIR = __DIR__; $sXsl = <<<XSL <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ext="http://php.net/xsl" xsl:extension-element-prefixes="ext" exclude-result-prefixes="ext"> <xsl:output encoding="UTF-8" indent="yes" method="xml" /> <xsl:template match="/"> <xsl:value-of select="ext:function('testFunction', document('$cDIR/bug49634.xml')/root)"/> </xsl:template> </xsl:stylesheet> XSL; function testFunction($a) { throw new Exception('Test exception.'); } $domXml = new DOMDocument; $domXml->loadXML($sXml); $domXsl = new DOMDocument; $domXsl->loadXML($sXsl); for ($i = 0; $i < 10; $i++) { $xsltProcessor = new XSLTProcessor(); $xsltProcessor->registerPHPFunctions(array('testFunction')); $xsltProcessor->importStyleSheet($domXsl); try { @$xsltProcessor->transformToDoc($domXml); } catch (Exception $e) { echo $e,"\n"; } } ?> ===DONE=== --EXPECTF-- exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} exception 'Exception' with message 'Test exception.' in %s:%d Stack trace: #0 [internal function]: testFunction(Array) #1 %s(%d): XSLTProcessor->transformToDoc(Object(DOMDocument)) #2 {main} ===DONE===