. Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol)
- Opcache:
+ . Fixed bug #69159 (Opcache causes problem when passing a variable variable
+ to a function). (Dmitry, Laruence)
. Fixed bug #69125 (Array numeric string as key). (Laruence)
. Fixed bug #69038 (switch(SOMECONSTANT) misbehaves). (Laruence)
case ZEND_FETCH_DIM_FUNC_ARG:
if (call_stack[call - 1].func) {
if (ARG_SHOULD_BE_SENT_BY_REF(call_stack[call - 1].func, (opline->extended_value & ZEND_FETCH_ARG_MASK))) {
- opline->extended_value = 0;
+ opline->extended_value &= ZEND_FETCH_TYPE_MASK;
opline->opcode -= 9;
} else {
- opline->extended_value = 0;
+ opline->extended_value &= ZEND_FETCH_TYPE_MASK;
opline->opcode -= 12;
}
}
--- /dev/null
+--TEST--
+Bug #69159 (Opcache causes problem when passing a variable variable to a function)
+--INI--
+opcache.enable=1
+opcache.optimization_level=-1
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$i = 1;
+$x1 = "okey";
+myFunction(${"x$i"});
+
+function myFunction($x) {
+ var_dump($x);
+}
+
+?>
+--EXPECT--
+string(4) "okey"