]> granicus.if.org Git - php/commit
Make MSVCRT memory leak checking usable for the test suite
authorChristoph M. Becker <cmbecker69@gmx.de>
Wed, 15 Jan 2020 22:04:03 +0000 (23:04 +0100)
committerChristoph M. Becker <cmbecker69@gmx.de>
Thu, 23 Jan 2020 10:47:20 +0000 (11:47 +0100)
commit4130fe437a5db7ead1444d3748bd0fbad9829cb2
tree02df4072419c04cab5695f0b9bf369041a286c2b
parent984d508825cc5ae8eaad2e74bafa573d6706f6ff
Make MSVCRT memory leak checking usable for the test suite

While basic support for MSVCRT debugging has been added long
ago[1], the leak checking is not usable for the test suite, because we
are no longer calling `xmlCleanupParser()` on RSHUTDOWN of
ext/libxml[2], and therefore a few bogus leaks are reported whenever
ext/libxml is unloaded.

We therefore ignore memory leaks for this case.  We introduce
`ZEND_IGNORE_LEAKS_BEGIN()` and `ZEND_IGNORE_LEAKS_END()` to keep
those ignores better readable, and also because these *might* be
useful for other leak checkers as well.

We also explicitly free the `zend_handlers_table` and the `p5s` to
avoid spurious leak reports.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=d756e1db2324c1f4ab6f9b52e329959ce6a02bc3>
[2] <http://git.php.net/?p=php-src.git;a=commit;h=8742276eb3905eb97a585417000c7b8df85006d4>
Zend/zend_portability.h
Zend/zend_strtod.c
Zend/zend_vm_execute.h
Zend/zend_vm_execute.skl
ext/libxml/config.w32
ext/libxml/libxml.c