File tree Expand file tree Collapse file tree 2 files changed +7
-0
lines changed Expand file tree Collapse file tree 2 files changed +7
-0
lines changed Original file line number Diff line number Diff line change @@ -187,6 +187,7 @@ void zend_enum_add_interfaces(zend_class_entry *ce)
187
187
zend_result zend_enum_build_backed_enum_table (zend_class_entry * ce )
188
188
{
189
189
ZEND_ASSERT (ce -> ce_flags & ZEND_ACC_ENUM );
190
+ ZEND_ASSERT (!(ce -> ce_flags & ZEND_ACC_IMMUTABLE ));
190
191
ZEND_ASSERT (ce -> type == ZEND_USER_CLASS );
191
192
192
193
uint32_t backing_type = ce -> enum_backing_type ;
Original file line number Diff line number Diff line change @@ -346,6 +346,12 @@ ZEND_API void zend_shutdown_executor_values(bool fast_shutdown)
346
346
}
347
347
}
348
348
349
+ if (ce -> type == ZEND_USER_CLASS && ce -> backed_enum_table ) {
350
+ ZEND_ASSERT (!(ce -> ce_flags & ZEND_ACC_IMMUTABLE ));
351
+ zend_hash_release (ce -> backed_enum_table );
352
+ ce -> backed_enum_table = NULL ;
353
+ }
354
+
349
355
if (ce -> ce_flags & ZEND_HAS_STATIC_IN_METHODS ) {
350
356
zend_op_array * op_array ;
351
357
ZEND_HASH_MAP_FOREACH_PTR (& ce -> function_table , op_array ) {
You can’t perform that action at this time.
0 commit comments