diff options
Diffstat (limited to 'Zend/zend_builtin_functions.c')
-rw-r--r-- | Zend/zend_builtin_functions.c | 8 |
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); } |