From: Markus Fischer Date: Sat, 13 Apr 2002 05:06:33 +0000 (+0000) Subject: - Fix a possible memory leak in xml_set_handler(). X-Git-Tag: php-4.3.0dev-ZendEngine2-Preview1~672 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c7a1d96f8a3f89c42bbb6bd16eca1d36cc11d579;p=php - Fix a possible memory leak in xml_set_handler(). I stumbled over this while trying out 'pear package' which, while doing xml parsing, re-assigns the variaous callback handlers depending on the version during xml processing. If this check causes problems, let me know. --- 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; }