Browse Source

- Fix problem with unsetting object members.

migration/unlabaled-1.29.2
Andi Gutmans 24 years ago
parent
commit
278a00e1d8
  1. 8
      Zend/zend_execute.c

8
Zend/zend_execute.c

@ -2791,7 +2791,11 @@ send_by_ref:
NEXT_OPCODE();
case ZEND_UNSET_VAR:
{
zval tmp, *variable = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
zval tmp, *variable;
HashTable *target_symbol_table;
variable = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
target_symbol_table = zend_get_target_symbol_table(EX(opline), EX(Ts), BP_VAR_IS TSRMLS_CC);
if (variable->type != IS_STRING) {
tmp = *variable;
@ -2800,7 +2804,7 @@ send_by_ref:
variable = &tmp;
}
zend_hash_del(EG(active_symbol_table), variable->value.str.val, variable->value.str.len+1);
zend_hash_del(target_symbol_table, variable->value.str.val, variable->value.str.len+1);
if (variable == &tmp) {
zval_dtor(&tmp);

Loading…
Cancel
Save