diff options
Diffstat (limited to 'ext/xml/xml.c')
-rw-r--r-- | ext/xml/xml.c | 5 |
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; } |