On 11/16/10 1:44 AM, Derick Rethans wrote:
> On Mon, 15 Nov 2010, Rasmus Lerdorf wrote:
> 
>> Ok, I went through all the 5.3 code.  This should fix the null poisoning
>> problems in 5.3 without breaking binary compatibility:
>>
>> http://progphp.com/nullpatch.txt
>>
>> There are quite a few places where we can't solve it centrally, so
>> perhaps we need to take the same approach in trunk.
> 
> I've had a look at that patch, and it looks a little bit like a kludge.
> I'm saying that because it's quite easy to miss a specific case where a 
> line like:
> 
> +     if (strlen(filename) != filename_len) {
> +             RETURN_FALSE;
> +     }
> 
> should/could be added. I prefer a fix that solves this properly, and 
> that requires breaking BC as I understood it. Perhaps we could just take 
> care of this in trunk only? Or at last, add a macro for doing the check 
> from above?

Yes, I agree it is a bit of a kludge, but no matter how we do it, it
will be easy to miss a case as there simply isn't a central place to do
this check that will catch all cases.  We can make the check prettier by
adding this non-null params type, or a pretty macro, but that doesn't
alleviate the need to go through and find all the places where we need
to do the check.

One thing that makes it a bit easier is that in many instances, but not
all, the check is near an open_basedir check.

-Rasmus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to