diff options
author | Arnaud Le Blanc <lbarnaud@php.net> | 2009-05-30 16:31:12 +0000 |
---|---|---|
committer | Arnaud Le Blanc <lbarnaud@php.net> | 2009-05-30 16:31:12 +0000 |
commit | bed00e15d136a94f04f99edda67703cd667f7d6f (patch) | |
tree | 9e559d22b537503edfdfa0c8dc276e825f7cc303 | |
parent | 16398c1990a2ee7024471e30072d24970f49a5a4 (diff) | |
download | php-git-bed00e15d136a94f04f99edda67703cd667f7d6f.tar.gz |
MFH: Fix aliasing issue (fixes #48409 , #48428 , #48228)
-rw-r--r-- | Zend/zend_vm_def.h | 7 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index b4ee7be7cb..182e649854 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -2288,7 +2288,9 @@ ZEND_VM_HELPER(zend_do_fcall_common_helper, ANY, ANY) EG(called_scope) = EX(called_scope); } - zend_ptr_stack_3_pop(&EG(arg_types_stack), (void*)&EX(called_scope), (void**)&EX(current_object), (void**)&EX(fbc)); + EX(called_scope) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(current_object) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(fbc) = zend_ptr_stack_pop(&EG(arg_types_stack)); EX(function_state).arguments = zend_vm_stack_push_args(opline->extended_value TSRMLS_CC); if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION) { @@ -4296,7 +4298,8 @@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPTION, ANY, ANY) zval_ptr_dtor(&EX(object)); } EX(called_scope) = DECODE_CTOR(EX(called_scope)); - zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc)); + EX(object) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(fbc) = zend_ptr_stack_pop(&EG(arg_types_stack)); } for (i=0; i<EX(op_array)->last_brk_cont; i++) { diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index bf3419ffc1..b69e681c08 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -290,7 +290,9 @@ static int ZEND_FASTCALL zend_do_fcall_common_helper_SPEC(ZEND_OPCODE_HANDLER_AR EG(called_scope) = EX(called_scope); } - zend_ptr_stack_3_pop(&EG(arg_types_stack), (void*)&EX(called_scope), (void**)&EX(current_object), (void**)&EX(fbc)); + EX(called_scope) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(current_object) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(fbc) = zend_ptr_stack_pop(&EG(arg_types_stack)); EX(function_state).arguments = zend_vm_stack_push_args(opline->extended_value TSRMLS_CC); if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION) { @@ -636,7 +638,8 @@ static int ZEND_FASTCALL ZEND_HANDLE_EXCEPTION_SPEC_HANDLER(ZEND_OPCODE_HANDLER zval_ptr_dtor(&EX(object)); } EX(called_scope) = DECODE_CTOR(EX(called_scope)); - zend_ptr_stack_2_pop(&EG(arg_types_stack), (void**)&EX(object), (void**)&EX(fbc)); + EX(object) = zend_ptr_stack_pop(&EG(arg_types_stack)); + EX(fbc) = zend_ptr_stack_pop(&EG(arg_types_stack)); } for (i=0; i<EX(op_array)->last_brk_cont; i++) { |