Re: include bug in 5.3
| From: | Dmitry Stogov | Date: | Fri, 08 Aug 2008 15:52:26 +0000 |
| Subject: | Re: include bug in 5.3 | ||
| References: | 1 2 3 4 5 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-39759@lists.php.net to get a copy of this message | ||
Hi,
The attached patch is going to fix the problem.
It implements its own realpath() function, so we won't depend on system
anymore. It also improve realpath cache usage by caching intermediate
results.
I tested it on Linux and Windows only and it seems to work without
problems. It breaks one test related to clearstatcache() function, but
this break is expected.
Could you please test it.
Does it really fix the bug on FreeBSD?
Thanks. Dmitry.
Hannes Magnusson wrote:
> On Thu, Aug 7, 2008 at 22:37, Arnaud Le Blanc <arnaud.lb@gmail.com> wrote:
>> virtual_file_ex() assumes that realpath() returns NULL when the file does not
>> exists. But BSD's realpath() will not return NULL if all
>> components *but the last* exist. So realpath(/foo/bar) will return /foo/bar
>> even if bar does not exists.
>
> And that behavior is intended, but is sadly overwritten in ZTS :(
>
> -Hannes