ret = NULL;
if (RETURN_VALUE_USED(opline)) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (RETURN_VALUE_USED(opline)) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (RETURN_VALUE_USED(opline)) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
if (RETURN_VALUE_USED(opline)) {
return_value = EX_VAR(opline->result.var);
- ZVAL_NULL(return_value);
}
new_op_array->scope = EX(func)->op_array.scope;
zend_generator_close(generator, 1);
ZEND_VM_RETURN();
} else {
+ /* We didn't execute RETURN, and have to initialize return_value */
+ if (EX(return_value)) {
+ ZVAL_UNDEF(EX(return_value));
+ }
ZEND_VM_DISPATCH_TO_HELPER(zend_leave_helper);
}
}
ret = NULL;
if (0) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (1) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (0) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (1) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (0) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
ret = NULL;
if (1) {
ret = EX_VAR(opline->result.var);
- ZVAL_NULL(ret);
}
call->prev_execute_data = execute_data;
zend_generator_close(generator, 1);
ZEND_VM_RETURN();
} else {
+ /* We didn't execute RETURN, and have to initialize return_value */
+ if (EX(return_value)) {
+ ZVAL_UNDEF(EX(return_value));
+ }
ZEND_VM_TAIL_CALL(zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
}
}
if (RETURN_VALUE_USED(opline)) {
return_value = EX_VAR(opline->result.var);
- ZVAL_NULL(return_value);
}
new_op_array->scope = EX(func)->op_array.scope;
if (RETURN_VALUE_USED(opline)) {
return_value = EX_VAR(opline->result.var);
- ZVAL_NULL(return_value);
}
new_op_array->scope = EX(func)->op_array.scope;
if (RETURN_VALUE_USED(opline)) {
return_value = EX_VAR(opline->result.var);
- ZVAL_NULL(return_value);
}
new_op_array->scope = EX(func)->op_array.scope;