From cfa6fa15259d6640ec49cf3891be542bf28725cc Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Sat, 15 Apr 2017 12:04:56 +0200 Subject: [PATCH] Initialize retval in INCLUDE_OR_EVAL In case the eval'd code throws. --- Zend/zend_vm_def.h | 1 + Zend/zend_vm_execute.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index d486d1514e..6823d61c26 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -5257,6 +5257,7 @@ ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMPVAR|CV, ANY, EVAL) 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; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 7136aa8790..1e888d7b6a 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -3449,6 +3449,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HAN 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; @@ -33629,6 +33630,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLE 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; @@ -48262,6 +48264,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HA 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; -- 2.50.1