rrichards Mon May 31 07:20:46 2004 EDT Modified files: /php-src/ext/libxml libxml.c Log: fix leak when using relaxng interim fix for isolating our streams handling - once libxml supports overriding streams this should be changed for security reasons http://cvs.php.net/diff.php/php-src/ext/libxml/libxml.c?r1=1.17&r2=1.18&ty=u Index: php-src/ext/libxml/libxml.c diff -u php-src/ext/libxml/libxml.c:1.17 php-src/ext/libxml/libxml.c:1.18 --- php-src/ext/libxml/libxml.c:1.17 Fri Apr 23 13:31:44 2004 +++ php-src/ext/libxml/libxml.c Mon May 31 07:20:46 2004 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: libxml.c,v 1.17 2004/04/23 17:31:44 rrichards Exp $ */ +/* $Id: libxml.c,v 1.18 2004/05/31 11:20:46 rrichards Exp $ */ #define IS_EXT_MODULE @@ -40,6 +40,9 @@ #include <libxml/tree.h> #include <libxml/uri.h> #include <libxml/xmlerror.h> +#ifdef LIBXML_SCHEMAS_ENABLED +#include <libxml/relaxng.h> +#endif #include "php_libxml.h" @@ -241,7 +244,11 @@ int php_libxml_streams_IO_match_wrapper(const char *filename) { TSRMLS_FETCH(); - return php_stream_locate_url_wrapper(filename, NULL, 0 TSRMLS_CC) ? 1 : 0; + + if (zend_is_executing(TSRMLS_C)) { + return php_stream_locate_url_wrapper(filename, NULL, 0 TSRMLS_CC) ? 1 : 0; + } + return 0; } void *php_libxml_streams_IO_open_wrapper(const char *filename, const char *mode, const int read_only) @@ -408,6 +415,9 @@ PHP_LIBXML_API void php_libxml_shutdown() { if (_php_libxml_initialized) { +#if defined(LIBXML_SCHEMAS_ENABLED) + xmlRelaxNGCleanupTypes(); +#endif xmlCleanupParser(); zend_hash_destroy(&php_libxml_exports); _php_libxml_initialized = 0;
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php