diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-06-27 13:34:15 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-06-27 13:34:15 +0300 |
commit | 56450c6e65a3f68a1a1c69600d7ae5ca9e5a135c (patch) | |
tree | 9b17e5ca4442b602ea7f63dcc25de6768fc84dc1 /Zend/zend_execute.c | |
parent | 32489322a1e7fc55fd09826c83a23ac7b702a29b (diff) | |
download | php-git-56450c6e65a3f68a1a1c69600d7ae5ca9e5a135c.tar.gz |
Moved very rare exception check into a single place.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index ac4555f683..3d4dcdb2c1 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -1228,6 +1228,10 @@ static zend_never_inline ZEND_COLD void zend_wrong_string_offset(EXECUTE_DATA_D) const zend_op *end; uint32_t var; + if (UNEXPECTED(EG(exception) != NULL)) { + return; + } + switch (opline->opcode) { case ZEND_ASSIGN_ADD: case ZEND_ASSIGN_SUB: @@ -1859,9 +1863,7 @@ fetch_from_array: zend_use_new_element_for_string(); } else { zend_check_string_offset(dim, type EXECUTE_DATA_CC); - if (EXPECTED(EG(exception) == NULL)) { - zend_wrong_string_offset(EXECUTE_DATA_C); - } + zend_wrong_string_offset(EXECUTE_DATA_C); } ZVAL_ERROR(result); } else if (EXPECTED(Z_TYPE_P(container) == IS_OBJECT)) { |