diff options
Diffstat (limited to 'Zend/zend_execute_API.c')
| -rw-r--r-- | Zend/zend_execute_API.c | 9 | 
1 files changed, 3 insertions, 6 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 480206bfb5..657a261d54 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1471,17 +1471,14 @@ ZEND_API void zend_attach_symbol_table(zend_execute_data *execute_data) /* {{{ *  		if (zv) {  			if (Z_TYPE_P(zv) == IS_INDIRECT) {  				zval *val = Z_INDIRECT_P(zv); -				if (Z_TYPE_P(val) == IS_UNDEF) { -					ZVAL_UNDEF(EX_VAR_NUM(i)); -				} else { -					ZVAL_COPY_VALUE(EX_VAR_NUM(i), val); -				} + +				ZVAL_COPY_VALUE(EX_VAR_NUM(i), val);  			} else {  				ZVAL_COPY_VALUE(EX_VAR_NUM(i), zv);  			}  		} else {  			ZVAL_UNDEF(EX_VAR_NUM(i)); -			zv = zend_hash_update(ht, op_array->vars[i], EX_VAR_NUM(i)); +			zv = zend_hash_add_new(ht, op_array->vars[i], EX_VAR_NUM(i));  		}  		ZVAL_INDIRECT(zv, EX_VAR_NUM(i));  	}  | 
