mirror of
https://github.com/php/php-src.git
synced 2026-04-04 06:32:49 +02:00
Merge branch 'PHP-7.0'
This commit is contained in:
18
Zend/tests/bug70662.phpt
Normal file
18
Zend/tests/bug70662.phpt
Normal file
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Bug #70662: Duplicate array key via undefined index error handler
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$a = [];
|
||||
set_error_handler(function() use(&$a) {
|
||||
$a['b'] = 2;
|
||||
});
|
||||
$a['b'] += 1;
|
||||
var_dump($a);
|
||||
|
||||
?>
|
||||
--EXPECT--
|
||||
array(1) {
|
||||
["b"]=>
|
||||
int(1)
|
||||
}
|
||||
@@ -1557,7 +1557,8 @@ num_index:
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined offset: " ZEND_LONG_FMT, hval);
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_index_update(ht, hval, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_index_add_new(ht, hval, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -1605,7 +1606,8 @@ str_index:
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined index: %s", ZSTR_VAL(offset_key));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(ht, offset_key, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(ht, offset_key, &EG(uninitialized_zval));
|
||||
break;
|
||||
|
||||
@@ -1565,7 +1565,8 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMPVAR|CV, UNUSED|CONST|V
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
|
||||
@@ -5024,7 +5024,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -6945,7 +6946,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -7441,7 +7443,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -31092,7 +31095,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -33305,7 +33309,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -34242,7 +34247,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -41434,7 +41440,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -42415,7 +42422,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
@@ -42816,7 +42824,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", ZSTR_VAL(name));
|
||||
/* break missing intentionally */
|
||||
retval = zend_hash_update(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
case BP_VAR_W:
|
||||
retval = zend_hash_add_new(target_symbol_table, name, &EG(uninitialized_zval));
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user