|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-09-14 09:02 UTC] per dot jessen at enidan dot com
Description: ------------ Loading an XSLT stylesheet with a syntactical problem causes Apache to segfault. Looks like bad error-handling. Reproduce code: --------------- http://jessen.ch/files/php-problem-sep2007.tar.gz Let me know if you need a core dump or anything else. The above will produce a segfault every time "problem.phtml.en" is loaded. Expected result: ---------------- Apache segfault. PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Nov 04 22:00:01 2025 UTC |
Cut'n'paste of the code needed: <?php virtual("problem-include"); // How? if (FALSE===($xp=new XSLTProcessor())) die("unable to create xslt engine"); $xsl=new DOMDocument; $xsl->load("empty.xsl"); $xp->importStyleSheet($xsl); ?> I'm not sure how to use the files in that tar ball..I guess you have some complex multiviews configuration also in there? Can you please try to cut down all the external stuff to minimum, ie. without using some fancy Apache configurations? Does the crash happen if you have some other error? ie. without using XSL?Sure. problem.phtlm.en: <?php virtual("problem-include.phtml.en"); klop ?> problem-include.phtml.en: <?php ?>Similar issue running PHP 5.2.4 as a module with Apache 2.2.6 on a Win XP box. Three files: --- test.php: <?php virtual ('/test.html'); echo $bad;?> test.html: <!--#include virtual="test2.php" --> test2.php: <?php ?> --- This is running with display_errors=On. It also segfaults, but in different ways, with display_errors=Off, or depending on the exact amount of bytes/calls in various files will simply print out a notice with a corrupted linenumber. It looks like the issue is that the php-within-php virtual nesting somehow corrupts php's ability to tell the difference between uninitialized/unset variables and valid ones, leading to memory access exceptions of various sorts.