#
55e61769 |
| 23-Mar-2024 |
Niels Dossche <7771979+nielsdos@users.noreply.github.com> |
Fix GH-13433: Segmentation Fault in zend_class_init_statics when using opcache.preload This regressed in 9a250cc9d6, which allowed static properties to get overridden by a trait during i
Fix GH-13433: Segmentation Fault in zend_class_init_statics when using opcache.preload This regressed in 9a250cc9d6, which allowed static properties to get overridden by a trait during inheritance. In particular, because of the change to the loop in zend_update_parent_ce(), it's not guaranteed that all indirects are after one another. This means that during persisting the zvals of the static members table, some static properties may be skipped. In case of the test code, this means that the array in the trait will keep referring to the old, new freed, stale value. To solve this, we check the type for IS_INDIRECT, which is the same as what zend_persist_calc() is already doing anyway. Since 2543e61aed we can check for IS_INDIRECT to see if it should be persisted or not. Closes GH-13794.
show more ...
|