Edit report at http://bugs.php.net/bug.php?id=51860&edit=1
ID: 51860 User updated by: stephan dot suerken at 1und1 dot de Reported by: stephan dot suerken at 1und1 dot de Summary: Include fails with toplevel symlink to / Status: Open Type: Bug Package: Reproducible crash PHP Version: 5.3.2 New Comment: > [2010-05-21 09:12 UTC] the...@php.net Your "simplified" way does not produce the bug; did you do it with the exact settings in the tarball (really, it does not harm!)? Thing is, the slightest change in the "setup" make the bug go away, and the exact setup described in the tarball reproduces it. For what I know, you _need_ the extra include dir under / to reproduce, and you _must_ call php as described in the "fail" script in the tarball, i.e. with the full path _including_ the symlink. Both is not in your simplified way to reproduce it. Thanks! Stephan Previous Comments: ------------------------------------------------------------------------ [2010-05-21 13:37:53] the...@php.net Wait: # /opt/php/php-5.3.2/sapi/cli/php -r 'var_dump(realpath("/phplink/phpinclude/inc123.php"));' string(22) "/phpinclude/inc123.php" ...and: # echo '<?php var_dump(realpath("/phplink/phpinclude/inc123.php"));' > test.php # /opt/php/php-5.3.2/sapi/cli/php test.php string(22) "/phpinclude/inc123.php" But: # echo '<?php var_dump(realpath("/phplink/phpinclude/inc123.php"));' > /phplink/phptest/test.php # /opt/php/php-5.3.2/sapi/cli/php /phplink/phptest/test.php bool(false) So if the executed script itself is inside the symlink'd directory, VCWD_REALPATH() does not correctly work (used by both include / require and realpath(), that's why I'm using the latter here) This does not occur with PHP 5.2.X (or PHP4, btw) ------------------------------------------------------------------------ [2010-05-21 13:12:21] the...@php.net Cannot reproduce on Gentoo with 5.3.2-RELEASE. ------------------------------------------------------------------------ [2010-05-21 13:05:09] stephan dot suerken at 1und1 dot de >[2010-05-20 10:14 UTC] m...@php.net >You think anybody's goind to untar something in his root AS root? Well...yes ;). Look at the tarball first, it's harmless. >Please provide some proper steps to reproduce, thank you. I could not find another way to reproduce it (yet) but in /; the tarball seems to be the easiest way to make someone else reproduce it. Thx, Stephan ------------------------------------------------------------------------ [2010-05-21 12:06:35] the...@php.net 1) Create a symlink in / to / r...@thekid:/ > ln -s / phptest r...@thekid:/ > ls -al /phptest lrwxr-xr-x 1 root wheel 1 May 21 10:40 /phptest -> / 2) Verify r...@thekid:/ > echo "OK" > /phpfile r...@thekid:/ > php -r 'include("/phptest/phpfile");' Expected result: "OK" 3) Clean up r...@thekid:/ > rm /phptest /phpfile You need to be root because you're working in /, that's it:) ------------------------------------------------------------------------ [2010-05-20 14:14:47] m...@php.net You think anybody's goind to untar something in his root AS root? Please provide some proper steps to reproduce, thank you. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=51860 -- Edit this bug report at http://bugs.php.net/bug.php?id=51860&edit=1