int arg_num;
SAVE_OPLINE();
- args = get_zval_ptr_undef(opline->op1_type, opline->op1, BP_VAR_R);
+ if (opline->op1_type & (IS_VAR|IS_CV)) {
- args = get_zval_ptr_ptr_undef(opline->op1_type, opline->op1, &free_op1, BP_VAR_RW);
++ args = get_zval_ptr_ptr_undef(opline->op1_type, opline->op1, BP_VAR_RW);
+ } else {
- args = get_zval_ptr_undef(opline->op1_type, opline->op1, &free_op1, BP_VAR_R);
++ args = get_zval_ptr_undef(opline->op1_type, opline->op1, BP_VAR_R);
+ }
arg_num = ZEND_CALL_NUM_ARGS(EX(call)) + 1;
send_again: