Fixed uninitialized EX(call)->called_scope

This commit is contained in:
Dmitry Stogov 2012-12-14 12:10:29 +04:00
parent 5aabf243bf
commit e65b966aac
2 changed files with 14 additions and 0 deletions

View file

@ -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;

View file

@ -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;