> I might be misunderstanding the problem and I didn't have time to read the
> phrack article, but doesn't this mean that leaving it unsigned is better?
> It wouldn't pass the length check and thus, memcpy() wouldn't convert a
> negative number to something huge.

    The problem is that every single line of existing PHP
    extensions, both public and non-public, would need to be
    audited, if we were to switch the type, because 100% of the
    current code misinterpretes data from the ZE2 API right now.

    Changing the API does not solve the existing problem, it
    merely adds to it.

    For example, you can add a single central check to the engine
    today which checks string lengths to be at least 0.  If the
    length field was changed to an unsigned type permanently,
    such a check would be impossible to implement in a portable
    way, because C does not define how a negative number will
    appear when cast to an unsigned type.

    - Sascha

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

Reply via email to