From: Dmitry Stogov Date: Tue, 25 Feb 2014 09:35:39 +0000 (+0400) Subject: Fixed user error handler invocation (temporary disabled symbol table passing) X-Git-Tag: POST_PHPNG_MERGE~412^2~535 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6b8253af270aab91321d05a2ed20c3bfbbe2db79;p=php Fixed user error handler invocation (temporary disabled symbol table passing) --- diff --git a/Zend/zend.c b/Zend/zend.c index fbb5c07de5..f7713102e8 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -1176,8 +1176,13 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ if (!EG(active_symbol_table)) { ZVAL_NULL(¶ms[4]); } else { -//??? ZVAL_ARR(¶ms[4], EG(active_symbol_table)); +//??? +#if 1 + ZVAL_NULL(¶ms[4]); +#else + ZVAL_ARR(¶ms[4], EG(active_symbol_table)); zval_copy_ctor(¶ms[4]); +#endif } ZVAL_COPY_VALUE(&orig_user_error_handler, &EG(user_error_handler)); @@ -1229,10 +1234,15 @@ ZEND_API void zend_error(int type, const char *format, ...) /* {{{ */ CG(in_compilation) = 1; } + zval_ptr_dtor(¶ms[4]); + zval_ptr_dtor(¶ms[3]); + zval_ptr_dtor(¶ms[2]); + zval_ptr_dtor(¶ms[1]); + zval_ptr_dtor(¶ms[0]); + if (Z_TYPE(EG(user_error_handler)) == IS_UNDEF) { ZVAL_COPY_VALUE(&EG(user_error_handler), &orig_user_error_handler); - } - else { + } else { zval_ptr_dtor(&orig_user_error_handler); } break;