diff options
author | Xinchen Hui <laruence@php.net> | 2015-02-27 11:42:36 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@php.net> | 2015-02-27 11:42:36 +0800 |
commit | 3e82816ba1a82843a352ce4050b2010fd9932dee (patch) | |
tree | a4f71b3bf68a747a8b381553b8c4be9ab70477cf | |
parent | e441d71baae89bdc5dc6f75407b4a8f5e42b8fa9 (diff) | |
download | php-git-3e82816ba1a82843a352ce4050b2010fd9932dee.tar.gz |
Fixed bug #69125 (Array numeric string as key)
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.c | 1 | ||||
-rw-r--r-- | ext/opcache/tests/bug69125.phpt | 22 |
3 files changed, 24 insertions, 0 deletions
@@ -21,6 +21,7 @@ PHP NEWS . Fixed bug #68964 (Allowed memory size exhausted with odbc_exec). (Anatol) - Opcache: + . Fixed bug #69125 (Array numeric string as key). (Laruence) . Fixed bug #69038 (switch(SOMECONSTANT) misbehaves). (Laruence) - OpenSSL: diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index ca5d41d8d5..be49b4956b 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -241,6 +241,7 @@ static void update_op2_const(zend_op_array *op_array, case ZEND_ISSET_ISEMPTY_DIM_OBJ: case ZEND_ADD_ARRAY_ELEMENT: case ZEND_INIT_ARRAY: + case ZEND_ASSIGN_DIM: case ZEND_UNSET_DIM: case ZEND_FETCH_DIM_R: case ZEND_FETCH_DIM_W: diff --git a/ext/opcache/tests/bug69125.phpt b/ext/opcache/tests/bug69125.phpt new file mode 100644 index 0000000000..913be01b00 --- /dev/null +++ b/ext/opcache/tests/bug69125.phpt @@ -0,0 +1,22 @@ +--TEST-- +Bug #69125 (Array numeric string as key) +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +--SKIPIF-- +<?php require_once('skipif.inc'); ?> +--FILE-- +<?php + +const SZERO = '0'; +const SONE = '1'; + +$array[SZERO] = "okey"; +$array[1] = "okey"; + +var_dump($array[SZERO]); +var_dump($array[SONE]); +?> +--EXPECT-- +string(4) "okey" +string(4) "okey" |