diff options
| author | Xinchen Hui <laruence@gmail.com> | 2014-02-25 18:29:20 +0800 |
|---|---|---|
| committer | Xinchen Hui <laruence@gmail.com> | 2014-02-25 18:29:20 +0800 |
| commit | 40a9132de8337f95aba153a5a6fcdb43eb02f681 (patch) | |
| tree | c9a9674d0a6ce7e04a4d6df7fd1225adf8575551 | |
| parent | 346d52c2c467aa7b6bb036305f2ea23061694399 (diff) | |
| download | php-git-40a9132de8337f95aba153a5a6fcdb43eb02f681.tar.gz | |
zend_hash_add might return NULL in ext/standard/tests/serialize/serialization_objects_011.php
| -rw-r--r-- | Zend/zend_object_handlers.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 74cc0fad0c..98b19f6b44 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -86,7 +86,9 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ prop_info->offset >= 0 && Z_TYPE(zobj->properties_table[prop_info->offset]) != IS_UNDEF) { zval *zv = zend_hash_add(zobj->properties, prop_info->name, &zobj->properties_table[prop_info->offset]); - ZVAL_INDIRECT(&zobj->properties_table[prop_info->offset], zv); + if (EXPECTED(zv)) { + ZVAL_INDIRECT(&zobj->properties_table[prop_info->offset], zv); + } } } while (ce->parent && ce->parent->default_properties_count) { @@ -100,7 +102,9 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */ prop_info->offset >= 0 && Z_TYPE(zobj->properties_table[prop_info->offset]) != IS_UNDEF) { zval *zv = zend_hash_add(zobj->properties, prop_info->name, &zobj->properties_table[prop_info->offset]); - ZVAL_INDIRECT(&zobj->properties_table[prop_info->offset], zv); + if (EXPECTED(zv)) { + ZVAL_INDIRECT(&zobj->properties_table[prop_info->offset], zv); + } } } } |
