automated checking of zend_parse_parameters()

php.internals

Nuno Lopes

20 years ago
Hello, I've made a somewhat simple script that is capable of running a few diagnostic tests on zend_parse_parameters() usage. This tests include reports from possible segfaults to possible optimizations. The script still needs a lot of tweaking, but is already capable of spotting some real bugs (but the number of false positives is a little high). The line number reporting isn't working very well, too, but even so I would recomend extensions' authors to take a look at the reports. Output for PHP 5.2, 6.0 and PECL: http://mega.ist.utl.pt/~ncpl/php5.2_zend_parse_parameters_diagnostics.txt http://mega.ist.utl.pt/~ncpl/php6_zend_parse_parameters_diagnostics.txt http://mega.ist.utl.pt/~ncpl/pecl_zend_parse_parameters_diagnostics.txt The source of the script is also available at: http://mega.ist.utl.pt/~ncpl/check_parameters.php (not recomended for non regex fans :P) Any comments, feedback, flames, etc.. are welcome :) Nuno

Andrei Zmievski

20 years ago
Excellent. Can you check that into CVS? Maybe in scripts/ ? -Andrei On Sep 6, 2006, at 9:59 AM, Nuno Lopes wrote:

Nuno Lopes

20 years ago
I was thinking in integrating it in http://gcov.php.net, as soon as the new website is ready and on-line, but I can put this text-only version in that dir (or maybe in scripts/dev). Nuno ----- Original Message -----

Pedram Nimreezi

20 years ago
thats seksi nice work ;-) On 9/6/06, Nuno Lopes <nlopess@php.net> wrote:
> Hello, > > I've made a somewhat simple script that is capable of running a few > diagnostic tests on zend_parse_parameters() usage. This tests include > reports from possible segfaults to possible optimizations. > > The script still needs a lot of tweaking, but is already capable of spotting > some real bugs (but the number of false positives is a little high). > The line number reporting isn't working very well, too, but even so I would > recomend extensions' authors to take a look at the reports. > > > Output for PHP 5.2, 6.0 and PECL: > http://mega.ist.utl.pt/~ncpl/php5.2_zend_parse_parameters_diagnostics.txt > http://mega.ist.utl.pt/~ncpl/php6_zend_parse_parameters_diagnostics.txt > http://mega.ist.utl.pt/~ncpl/pecl_zend_parse_parameters_diagnostics.txt > > > The source of the script is also available at: > http://mega.ist.utl.pt/~ncpl/check_parameters.php > (not recomended for non regex fans :P) > > > Any comments, feedback, flames, etc.. are welcome :) > > Nuno > > -- > PECL development discussion Mailing List (http://pecl.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >
-- ~ Pedram Nimreezi -- President/Senior Engineer Major Computing, Inc -- Not by age, but by knowledge is wisdom acquired.

phpxcache

19 years ago
geat job. it's much faster than valgrind. and can find 64bit/be etc problems. it's something a must have like gcc printf format attribute. u may have already notice: the line number is wrong sometimes.

Nuno Lopes

19 years ago
> geat job. it's much faster than valgrind. and can find 64bit/be etc > problems. > it's something a must have like gcc printf format attribute.
thanks :) its job is really find bugs proactively, like the usual 64-bits (int vs long) bugs. Ideally it should be performed by a real C parser, but that's way too much work :)
> u may have already notice: the line number is wrong sometimes.
I've fixed this problem (although I haven't updated the on-line files yet). I've commited the last version of the script to both php 5.2 and 6 branches. Nuno