summaryrefslogtreecommitdiff
path: root/ext/xml/xml.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r--ext/xml/xml.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/xml/xml.c b/ext/xml/xml.c
index a6ee1aec60..ce87d36139 100644
--- a/ext/xml/xml.c
+++ b/ext/xml/xml.c
@@ -354,6 +354,11 @@ static void xml_set_handler(zval **handler, zval **data)
convert_to_string_ex(data);
}
+ /* If we have already a handler, release it */
+ if (*handler) {
+ zval_ptr_dtor(handler);
+ }
+
zval_add_ref(data);
*handler = *data;
}