]> granicus.if.org Git - php/commitdiff
Fixed memory leak
authorDmitry Stogov <dmitry@zend.com>
Tue, 15 Apr 2014 11:50:34 +0000 (15:50 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 15 Apr 2014 11:50:34 +0000 (15:50 +0400)
ext/libxml/libxml.c

index b0974b4020824fc1ef62535cae76e802b20b84ed..705045eee4ad20ad30cb2e36a83e61001164af27 100644 (file)
@@ -728,6 +728,10 @@ PHP_LIBXML_API void php_libxml_error_handler(void *ctx, const char *msg, ...)
        va_end(args);
 }
 
+static void php_libxml_exports_dtor(zval *zv)
+{
+       free(Z_PTR_P(zv));
+}
 
 PHP_LIBXML_API void php_libxml_initialize(void)
 {
@@ -738,7 +742,7 @@ PHP_LIBXML_API void php_libxml_initialize(void)
                _php_libxml_default_entity_loader = xmlGetExternalEntityLoader();
                xmlSetExternalEntityLoader(_php_libxml_pre_ext_ent_loader);
 
-               zend_hash_init(&php_libxml_exports, 0, NULL, NULL, 1);
+               zend_hash_init(&php_libxml_exports, 0, NULL, php_libxml_exports_dtor, 1);
 
                _php_libxml_initialized = 1;
        }