diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2014-02-25 13:35:39 +0400 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2014-02-25 13:35:39 +0400 |
| commit | 6b8253af270aab91321d05a2ed20c3bfbbe2db79 (patch) | |
| tree | 5c3ef1ae1d37c16c0f2a8f14e6100d69338ee605 | |
| parent | 820184dd00a9997426522ce70026f7ef5f556e41 (diff) | |
| download | php-git-6b8253af270aab91321d05a2ed20c3bfbbe2db79.tar.gz | |
Fixed user error handler invocation (temporary disabled symbol table passing)
| -rw-r--r-- | Zend/zend.c | 16 |
1 files changed, 13 insertions, 3 deletions
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; |
