summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index f4c3d030ba..6035be3d0c 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1651,9 +1651,13 @@ do_fcall_common:
}
NEXT_OPCODE();
case ZEND_SEND_VAR:
+ case ZEND_SEND_VAR_NO_REF:
if (opline->extended_value==ZEND_DO_FCALL_BY_NAME
&& ARG_SHOULD_BE_SENT_BY_REF(opline->op2.u.opline_num, fbc, fbc->common.arg_types)) {
- goto send_by_ref;
+ if (opline->opcode==ZEND_SEND_VAR_NO_REF) {
+ zend_error(E_ERROR, "Only variables can be passed by reference");
+ }
+ goto send_by_ref;
}
{
zval *varptr;