summaryrefslogtreecommitdiff
path: root/Zend/zend_builtin_functions.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-04-02 02:05:25 +0300
committerDmitry Stogov <dmitry@zend.com>2015-04-02 02:05:25 +0300
commitea09a9fa325fe21ebc81c41a63ab8c2f377d7f75 (patch)
tree333736f85df668e9cba95ee567a59d3e889260c3 /Zend/zend_builtin_functions.c
parent956fa034e3b9de643153fd83fd63d36547bfa821 (diff)
downloadphp-git-ea09a9fa325fe21ebc81c41a63ab8c2f377d7f75.tar.gz
Convert fatal errors into EngineExceptions
Make zval_update_constant_ex(), zval_update_constant(), zend_update_class_constants() and zend_ast_evaluate() return SUCCESS or FAILURE.
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r--Zend/zend_builtin_functions.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_builtin_functions.c b/Zend/zend_builtin_functions.c
index 275fcf9cff..0d9e3c002c 100644
--- a/Zend/zend_builtin_functions.c
+++ b/Zend/zend_builtin_functions.c
@@ -1075,7 +1075,9 @@ static void add_class_vars(zend_class_entry *ce, int statics, zval *return_value
/* this is necessary to make it able to work with default array
* properties, returned to user */
if (Z_OPT_CONSTANT_P(prop)) {
- zval_update_constant(prop, 0);
+ if (UNEXPECTED(zval_update_constant_ex(prop, 0, NULL) != SUCCESS)) {
+ return;
+ }
}
zend_hash_add_new(Z_ARRVAL_P(return_value), key, prop);
@@ -1099,7 +1101,9 @@ ZEND_FUNCTION(get_class_vars)
RETURN_FALSE;
} else {
array_init(return_value);
- zend_update_class_constants(ce);
+ if (UNEXPECTED(zend_update_class_constants(ce) != SUCCESS)) {
+ return;
+ }
add_class_vars(ce, 0, return_value);
add_class_vars(ce, 1, return_value);
}