summaryrefslogtreecommitdiff
path: root/Zend/zend_variables.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-05-31 19:07:09 +0000
committerZeev Suraski <zeev@php.net>2000-05-31 19:07:09 +0000
commit13b67621cfb4ba5fc71668f353f8128346e88904 (patch)
tree7cc7c8b28e64f5d81a4f5d4d5dbf7408a2ee6483 /Zend/zend_variables.c
parent1e672d4528c8861575bd0a6f0ef0a5e60626ab21 (diff)
downloadphp-git-13b67621cfb4ba5fc71668f353f8128346e88904.tar.gz
Fix a bug in static initializers/default values/class member variables that contained
array values
Diffstat (limited to 'Zend/zend_variables.c')
-rw-r--r--Zend/zend_variables.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c
index 2fa87df02d..e1639a8ad8 100644
--- a/Zend/zend_variables.c
+++ b/Zend/zend_variables.c
@@ -61,7 +61,8 @@ ZEND_API void _zval_dtor(zval *zvalue ZEND_FILE_LINE_DC)
case IS_CONSTANT:
STR_FREE_REL(zvalue->value.str.val);
break;
- case IS_ARRAY: {
+ case IS_ARRAY:
+ case IS_CONSTANT_ARRAY: {
ELS_FETCH();
if (zvalue->value.ht && (zvalue->value.ht != &EG(symbol_table))) {
@@ -125,7 +126,8 @@ ZEND_API int _zval_copy_ctor(zval *zvalue ZEND_FILE_LINE_DC)
}
zvalue->value.str.val = (char *) estrndup_rel(zvalue->value.str.val, zvalue->value.str.len);
break;
- case IS_ARRAY: {
+ case IS_ARRAY:
+ case IS_CONSTANT_ARRAY: {
zval *tmp;
HashTable *original_ht = zvalue->value.ht;
ELS_FETCH();