From f07eed91c417d6bdedddf5774e71222958c69d10 Mon Sep 17 00:00:00 2001 From: Derick Rethans Date: Tue, 7 Jun 2005 10:01:30 +0000 Subject: [PATCH] - MF44: Problems with user defined error handler and references --- Zend/zend_vm_def.h | 2 +- Zend/zend_vm_execute.h | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index ad5c2d4e7c..a876a10a47 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1376,10 +1376,10 @@ ZEND_VM_HANDLER(39, ZEND_ASSIGN_REF, VAR|CV, VAR|CV) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); ZEND_VM_DISPATCH_TO_HANDLER(ZEND_ASSIGN); } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 689e0e6157..719d206fe2 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -11674,10 +11674,10 @@ static int ZEND_ASSIGN_REF_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); return ZEND_ASSIGN_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); } @@ -13500,10 +13500,10 @@ static int ZEND_ASSIGN_REF_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); return ZEND_ASSIGN_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); } @@ -23590,10 +23590,10 @@ static int ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); return ZEND_ASSIGN_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); } @@ -25416,10 +25416,10 @@ static int ZEND_ASSIGN_REF_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); return ZEND_ASSIGN_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); } @@ -31054,10 +31054,10 @@ static int ZEND_ASSIGN_REF_HANDLER(ZEND_OPCODE_HANDLER_ARGS) !(*value_ptr_ptr)->is_ref && opline->extended_value == ZEND_RETURNS_FUNCTION && !EX_T(opline->op2.u.var).var.fcall_returned_reference) { - zend_error(E_STRICT, "Only variables should be assigned by reference"); if (free_op2.var == NULL) { PZVAL_LOCK(*value_ptr_ptr); /* undo the effect of get_zval_ptr_ptr() */ } + zend_error(E_STRICT, "Only variables should be assigned by reference"); return ZEND_ASSIGN_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); } -- 2.50.1