File tree Expand file tree Collapse file tree 3 files changed +31
-1
lines changed Expand file tree Collapse file tree 3 files changed +31
-1
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,8 @@ PHP NEWS
14
14
. Fixed bug #78950 (Preloading trait method with static variables). (Nikita)
15
15
. Fixed bug #78903 (Conflict in RTD key for closures results in crash).
16
16
(Nikita)
17
+ . Fixed bug #78986 (Opcache segfaults when inheriting ctor from immutable
18
+ into mutable class). (Nikita)
17
19
18
20
- Spl:
19
21
. Fixed bug #78976 (SplFileObject::fputcsv returns -1 on failure). (cmb)
Original file line number Diff line number Diff line change
1
+ --TEST--
2
+ Bug #78986: Opcache segfaults when inheriting ctor from immutable into mutable class
3
+ --FILE--
4
+ <?php
5
+
6
+ define ('TEST_TEST ' , 1 );
7
+
8
+ class TestClass2 {
9
+ function __construct () {}
10
+ }
11
+
12
+ class TestClass extends TestClass2 {
13
+ var $ test = [
14
+ TEST_TEST => 'test '
15
+ ];
16
+ }
17
+
18
+ var_dump (new TestClass ());
19
+
20
+ ?>
21
+ --EXPECT--
22
+ object(TestClass)#1 (1) {
23
+ ["test"]=>
24
+ array(1) {
25
+ [1]=>
26
+ string(4) "test"
27
+ }
28
+ }
Original file line number Diff line number Diff line change @@ -246,7 +246,7 @@ static void zend_hash_clone_prop_info(HashTable *ht)
246
246
247
247
#define zend_update_inherited_handler (handler ) \
248
248
{ \
249
- if (ce->handler != NULL) { \
249
+ if (ce->handler != NULL && IN_ARENA(ce->handler) ) { \
250
250
ce->handler = ARENA_REALLOC(ce->handler); \
251
251
} \
252
252
}
You can’t perform that action at this time.
0 commit comments