diff options
author | Christian Stocker <chregu@php.net> | 2004-07-28 12:40:53 +0000 |
---|---|---|
committer | Christian Stocker <chregu@php.net> | 2004-07-28 12:40:53 +0000 |
commit | 5f888422d987ebcac1ec03484e62d225f6989c8b (patch) | |
tree | ea5f1339824df3f3fa7a1b6876d2c1ba279a0238 /ext/xsl/php_xsl.c | |
parent | 3d9eeb4538cb9c901362729d7a03749730ada251 (diff) | |
download | php-git-5f888422d987ebcac1ec03484e62d225f6989c8b.tar.gz |
Fix for bug #29409 (Segfault in PHP functions called from XSLT). (by Rob)
Diffstat (limited to 'ext/xsl/php_xsl.c')
-rw-r--r-- | ext/xsl/php_xsl.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/xsl/php_xsl.c b/ext/xsl/php_xsl.c index ff62618ff8..18df25fff1 100644 --- a/ext/xsl/php_xsl.c +++ b/ext/xsl/php_xsl.c @@ -132,6 +132,11 @@ void xsl_objects_free_storage(void *object TSRMLS_DC) zend_hash_destroy(intern->parameter); FREE_HASHTABLE(intern->parameter); + if (intern->node_list) { + zend_hash_destroy(intern->node_list); + FREE_HASHTABLE(intern->node_list); + } + if (intern->ptr) { /* free wrapper */ if (((xsltStylesheetPtr) intern->ptr)->_private != NULL) { @@ -160,6 +165,7 @@ zend_object_value xsl_objects_new(zend_class_entry *class_type TSRMLS_DC) intern->parameter = NULL; intern->hasKeys = 0; intern->registerPhpFunctions = 0; + intern->node_list = NULL; ALLOC_HASHTABLE(intern->std.properties); zend_hash_init(intern->std.properties, 0, NULL, ZVAL_PTR_DTOR, 0); |