Skip to content

Commit 3e461b8

Browse files
committed
Fix shm modification
1 parent 62171fd commit 3e461b8

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Zend/zend_inheritance.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3643,11 +3643,13 @@ ZEND_API zend_class_entry *zend_do_link_class(zend_class_entry *ce, zend_string
36433643
zend_do_implement_interfaces(ce, interfaces, num_interface_names);
36443644
} else {
36453645
if (ce->interface_names) {
3646-
for (i = 0; i < num_interface_names; i++) {
3647-
zend_string_release_ex(ce->interface_names[i].name, 0);
3648-
zend_string_release_ex(ce->interface_names[i].lc_name, 0);
3646+
if (!(ce->ce_flags & ZEND_ACC_CACHED)) {
3647+
for (i = 0; i < num_interface_names; i++) {
3648+
zend_string_release_ex(ce->interface_names[i].name, 0);
3649+
zend_string_release_ex(ce->interface_names[i].lc_name, 0);
3650+
}
3651+
efree(ce->interface_names);
36493652
}
3650-
efree(ce->interface_names);
36513653
ce->interface_names = NULL;
36523654
}
36533655
if (parent && parent->num_interfaces) {

0 commit comments

Comments
 (0)