From e65b966aac8af19cc7b7dd3bf68639b869a66f99 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 14 Dec 2012 12:10:29 +0400 Subject: [PATCH] Fixed uninitialized EX(call)->called_scope --- Zend/zend_vm_def.h | 4 ++++ Zend/zend_vm_execute.h | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index fedd7204b8..a9ed07e118 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2636,6 +2636,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV) CACHE_PTR(opline->op2.literal->cache_slot, call->fbc); } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; /*CHECK_EXCEPTION();*/ @@ -2663,6 +2664,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV) efree(lcname); FREE_OP2(); call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; CHECK_EXCEPTION(); @@ -2782,6 +2784,7 @@ ZEND_VM_HANDLER(69, ZEND_INIT_NS_FCALL_BY_NAME, ANY, CONST) } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; ZEND_VM_NEXT_OPCODE(); @@ -2810,6 +2813,7 @@ ZEND_VM_HANDLER(60, ZEND_DO_FCALL, CONST, ANY) } call->fbc = EX(function_state).function; call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 50a3ab525e..6890f58525 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1218,6 +1218,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPCODE CACHE_PTR(opline->op2.literal->cache_slot, call->fbc); } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; /*CHECK_EXCEPTION();*/ @@ -1245,6 +1246,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPCODE efree(lcname); call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; CHECK_EXCEPTION(); @@ -1364,6 +1366,7 @@ static int ZEND_FASTCALL ZEND_INIT_NS_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPC } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; ZEND_VM_NEXT_OPCODE(); @@ -1535,6 +1538,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_TMP_HANDLER(ZEND_OPCODE_H CACHE_PTR(opline->op2.literal->cache_slot, call->fbc); } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; /*CHECK_EXCEPTION();*/ @@ -1562,6 +1566,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_TMP_HANDLER(ZEND_OPCODE_H efree(lcname); zval_dtor(free_op2.var); call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; CHECK_EXCEPTION(); @@ -1713,6 +1718,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H CACHE_PTR(opline->op2.literal->cache_slot, call->fbc); } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; /*CHECK_EXCEPTION();*/ @@ -1740,6 +1746,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H efree(lcname); if (free_op2.var) {zval_ptr_dtor(&free_op2.var);}; call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; CHECK_EXCEPTION(); @@ -1926,6 +1933,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA CACHE_PTR(opline->op2.literal->cache_slot, call->fbc); } call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; /*CHECK_EXCEPTION();*/ @@ -1953,6 +1961,7 @@ static int ZEND_FASTCALL ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA efree(lcname); call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; CHECK_EXCEPTION(); @@ -2287,6 +2296,7 @@ static int ZEND_FASTCALL ZEND_DO_FCALL_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_A } call->fbc = EX(function_state).function; call->object = NULL; + call->called_scope = NULL; call->is_ctor_call = 0; EX(call) = call; -- 2.40.0