From: Xinchen Hui Date: Wed, 28 Feb 2018 10:06:49 +0000 (+0800) Subject: Merge branch 'PHP-7.1' into PHP-7.2 X-Git-Tag: php-7.2.4RC1~38 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=858ebd928542e6e438dc99d568b3a2f6ca6c08df;p=php Merge branch 'PHP-7.1' into PHP-7.2 * PHP-7.1: Fixed bug #76025 (Segfault while throwing exception in error_handler). --- 858ebd928542e6e438dc99d568b3a2f6ca6c08df diff --cc Zend/zend_execute.c index 555dc4480b,968618a6aa..8a9ddb2d8d --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@@ -243,14 -211,15 +243,15 @@@ static zend_always_inline zval *_get_zv return ret; } -static zend_never_inline ZEND_COLD void zval_undefined_cv(uint32_t var, const zend_execute_data *execute_data) +static zend_never_inline ZEND_COLD void zval_undefined_cv(uint32_t var EXECUTE_DATA_DC) { - zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var)); - - zend_error(E_NOTICE, "Undefined variable: %s", ZSTR_VAL(cv)); + if (EXPECTED(EG(exception) == NULL)) { + zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var)); + zend_error(E_NOTICE, "Undefined variable: %s", ZSTR_VAL(cv)); + } } -static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, uint32_t var, int type, const zend_execute_data *execute_data) +static zend_never_inline zval *_get_zval_cv_lookup(zval *ptr, uint32_t var, int type EXECUTE_DATA_DC) { switch (type) { case BP_VAR_R: