summaryrefslogtreecommitdiff
path: root/ext/xsl/php_xsl.c
diff options
context:
space:
mode:
authorChristian Stocker <chregu@php.net>2004-07-28 12:40:53 +0000
committerChristian Stocker <chregu@php.net>2004-07-28 12:40:53 +0000
commit5f888422d987ebcac1ec03484e62d225f6989c8b (patch)
treeea5f1339824df3f3fa7a1b6876d2c1ba279a0238 /ext/xsl/php_xsl.c
parent3d9eeb4538cb9c901362729d7a03749730ada251 (diff)
downloadphp-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.c6
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);