helly Thu Mar 10 20:11:57 2005 EDT
Modified files:
/php-src/ext/xml xml.c
Log:
- Fix #30266
http://cvs.php.net/diff.php/php-src/ext/xml/xml.c?r1=1.153&r2=1.154&ty=u
Index: php-src/ext/xml/xml.c
diff -u php-src/ext/xml/xml.c:1.153 php-src/ext/xml/xml.c:1.154
--- php-src/ext/xml/xml.c:1.153 Mon Feb 7 17:16:46 2005
+++ php-src/ext/xml/xml.c Thu Mar 10 20:11:54 2005
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: xml.c,v 1.153 2005/02/07 22:16:46 rasmus Exp $ */
+/* $Id: xml.c,v 1.154 2005/03/11 01:11:54 helly Exp $ */
#define IS_EXT_MODULE
@@ -388,12 +388,12 @@
/* {{{ xml_call_handler() */
static zval *xml_call_handler(xml_parser *parser, zval *handler, zend_function
*function_ptr, int argc, zval **argv)
{
+ int i;
TSRMLS_FETCH();
- if (parser && handler) {
+ if (parser && handler && !EG(exception)) {
zval ***args;
zval *retval;
- int i;
int result;
zend_fcall_info fci;
@@ -437,10 +437,14 @@
if (result == FAILURE) {
return NULL;
} else {
- return retval;
+ return EG(exception) ? NULL : retval;
}
+ } else {
+ for (i = 0; i < argc; i++) {
+ zval_ptr_dtor(&argv[i]);
+ }
+ return NULL;
}
- return NULL;
}
/* }}} */
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php