summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2014-02-25 18:29:20 +0800
committerXinchen Hui <laruence@gmail.com>2014-02-25 18:29:20 +0800
commit40a9132de8337f95aba153a5a6fcdb43eb02f681 (patch)
treec9a9674d0a6ce7e04a4d6df7fd1225adf8575551
parent346d52c2c467aa7b6bb036305f2ea23061694399 (diff)
downloadphp-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.c8
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);
+ }
}
}
}