mirror of
https://github.com/php/php-src.git
synced 2025-08-18 15:08:55 +02:00
Fixed bug #73583 (Segfaults when conditionally declared class and function have the same name)
bug was introduced in rev 88eae43f
, and the runtime defined key is not
merged-able
This commit is contained in:
parent
1c733a345f
commit
a0b28434cc
3 changed files with 22 additions and 1 deletions
2
NEWS
2
NEWS
|
@ -23,6 +23,8 @@ PHP NEWS
|
|||
. Fixed bug #64526 (Add missing mysqlnd.* parameters to php.ini-*). (cmb)
|
||||
|
||||
- Opcache:
|
||||
. Fixed bug #73583 (Segfaults when conditionally declared class and function
|
||||
have the same name). (Laruence)
|
||||
. Fixed bug #69090 (check cached files permissions)
|
||||
|
||||
- OpenSSL:
|
||||
|
|
|
@ -292,7 +292,7 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx
|
|||
case ZEND_DECLARE_CLASS:
|
||||
case ZEND_DECLARE_INHERITED_CLASS:
|
||||
case ZEND_DECLARE_INHERITED_CLASS_DELAYED:
|
||||
LITERAL_INFO(opline->op1.constant, LITERAL_VALUE, 1, 0, 2);
|
||||
LITERAL_INFO(opline->op1.constant, LITERAL_VALUE, 0, 0, 2);
|
||||
break;
|
||||
case ZEND_RECV:
|
||||
case ZEND_RECV_VARIADIC:
|
||||
|
|
19
ext/opcache/tests/bug73583.phpt
Normal file
19
ext/opcache/tests/bug73583.phpt
Normal file
|
@ -0,0 +1,19 @@
|
|||
--TEST--
|
||||
Bug #73583 (Segfaults when conditionally declared class and function have the same name)
|
||||
--INI--
|
||||
opcache.enable=1
|
||||
opcache.enable_cli=1
|
||||
opcache.optimization_level=0x4ff
|
||||
opcache.file_update_protection=0
|
||||
--SKIPIF--
|
||||
<?php require_once('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
if (true) {
|
||||
class A { }
|
||||
function A() { }
|
||||
function A() { }
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
Fatal error: Cannot redeclare A() (previously declared in %sbug73583.php:4) in %sbug73583.php on line 5
|
Loading…
Add table
Add a link
Reference in a new issue