summaryrefslogtreecommitdiff
path: root/Zend/zend_hash.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2015-11-03 17:53:56 -0800
committerAnatol Belski <ab@php.net>2015-11-08 02:55:02 +0100
commit46bb5a8cc957f2a12a25b51a90e0975713f75834 (patch)
tree1300c61178d1a7582de93f04c5cac1b39bec38bf /Zend/zend_hash.c
parent20b773438dcbb2da326c93a9af712f65bdfb73b3 (diff)
downloadphp-git-46bb5a8cc957f2a12a25b51a90e0975713f75834.tar.gz
Fixed bug #70805 (Segmentation faults whilst running Drupal 8 test suite)
Diffstat (limited to 'Zend/zend_hash.c')
-rw-r--r--Zend/zend_hash.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 8a8ef2948e..52868cf4a6 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -1049,9 +1049,13 @@ ZEND_API int ZEND_FASTCALL zend_hash_del_ind(HashTable *ht, zend_string *key)
return FAILURE;
} else {
if (ht->pDestructor) {
- ht->pDestructor(data);
+ zval tmp;
+ ZVAL_COPY_VALUE(&tmp, data);
+ ZVAL_UNDEF(data);
+ ht->pDestructor(&tmp);
+ } else {
+ ZVAL_UNDEF(data);
}
- ZVAL_UNDEF(data);
}
} else {
_zend_hash_del_el_ex(ht, idx, p, prev);