diff options
| author | Xinchen Hui <laruence@gmail.com> | 2016-03-21 19:12:50 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2016-03-21 19:12:50 +0800 |
| commit | 9712a974beb53f47bcffb2c6554cc5c85d231fe2 (patch) | |
| tree | 43427925518bcaa99a9f076c287e3835aca1e4b2 | |
| parent | a9a46f17be6c4460ab0ee785978d6e430ce96017 (diff) | |
| download | php-git-9712a974beb53f47bcffb2c6554cc5c85d231fe2.tar.gz | |
Also protects object to array cast
| -rw-r--r-- | Zend/zend_operators.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index 5cbe393d14..50557e56d8 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -597,7 +597,9 @@ try_again: if (obj_ht) { zval arr; - if (!Z_OBJCE_P(op)->default_properties_count && obj_ht == Z_OBJ_P(op)->properties) { + if (!Z_OBJCE_P(op)->default_properties_count && + obj_ht == Z_OBJ_P(op)->properties && + !ZEND_HASH_GET_APPLY_COUNT(Z_OBJ_P(op)->properties)) { /* fast copy */ if (EXPECTED(Z_OBJ_P(op)->handlers == &std_object_handlers)) { ZVAL_ARR(&arr, obj_ht); |
