php-src/Zend/tests/lazy_objects
Ilija Tovilo 9acfe6e11c
Fix skipped lazy init on primed SIMPLE_WRITE
Go through the normal assignment path, which includes an IS_UNDEF check.

Fixes GH-17998
Closes GH-17999
2025-03-08 12:32:18 +01:00
..
rfc
array_walk.phpt
clone_calls___clone_once.phpt
clone_creates_object_with_independent_state_001.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
clone_creates_object_with_independent_state_002.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
clone_creates_object_with_independent_state_003.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
clone_initialized.phpt
clone_initializer_exception.phpt
clone_initializes.phpt
clone_preverves_object_class.phpt
convert_to_array.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
dtor_called_if_init.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
dtor_not_called_if_not_init.phpt Zend/*: fix a bunch of typos (GH-16017) 2024-09-24 10:55:21 +02:00
fetch_coalesce_initializes.phpt
fetch_coalesce_non_existing_initializes.phpt
fetch_declared_prop_initializes.phpt
fetch_dynamic_prop_initializes.phpt
fetch_hook_may_not_initialize.phpt
fetch_hook_virtual_may_initialize.phpt
fetch_hook_virtual_may_not_initialize.phpt
fetch_magic_prop_may_initialize.phpt
fetch_magic_prop_may_not_initialize.phpt
fetch_magic_prop_recursive_may_initialize.phpt
fetch_op_dynamic_error.phpt
fetch_op_dynamic_prop_initializes.phpt
fetch_op_error.phpt
fetch_op_initializes.phpt
fetch_op_skipped_prop_does_not_initialize.phpt
fetch_ref_initializes.phpt
fetch_ref_skipped_prop_does_not_initialize.phpt
fetch_skipped_prop_does_not_initialize.phpt
final_classes_can_be_initialized_lazily.phpt
gc_001.phpt
gc_002.phpt
gc_003.phpt
gc_004.phpt
gc_005.phpt
gc_006.phpt
get_initializer.phpt
get_properties.phpt
gh15823.phpt Fix zend_lazy_object_get_properties for object with prop ht, when init fails (#15825) 2024-09-23 13:47:56 +02:00
gh15999_001.phpt Fix use-after-free during lazy object initialization (#16004) 2024-10-02 12:15:36 +02:00
gh15999_002.phpt Fix use-after-free during lazy object initialization (#16004) 2024-10-02 12:15:36 +02:00
gh17941.phpt Fix GH-17941: Stack-use-after-return with lazy objects and hooks 2025-03-08 00:00:01 +01:00
gh17998.phpt Fix skipped lazy init on primed SIMPLE_WRITE 2025-03-08 12:32:18 +01:00
init_exception_001.phpt
init_exception_leaves_object_lazy.phpt
init_exception_reverts_initializer_changes.phpt
init_exception_reverts_initializer_changes_dyn_props.phpt
init_exception_reverts_initializer_changes_dyn_props_and_ht.phpt
init_exception_reverts_initializer_changes_nested.phpt
init_exception_reverts_initializer_changes_overridden_prop.phpt
init_exception_reverts_initializer_changes_props_ht.phpt
init_exception_reverts_initializer_changes_props_ht_ref.phpt
init_fatal.phpt
init_handles_ref_source_types.phpt
init_handles_ref_source_types_exception.phpt
init_may_leave_props_uninit.phpt
init_preserves_identity.phpt
init_preserves_proxy_class.phpt
init_sets_prop_default_values.phpt
init_trigger_array_cast.phpt
init_trigger_compare.phpt
init_trigger_debug_zval_dump.phpt
init_trigger_foreach.phpt Deny resetting an object as lazy during property iteration 2024-10-03 15:12:21 +02:00
init_trigger_foreach_hooks.phpt Deny resetting an object as lazy during property iteration 2024-10-03 15:12:21 +02:00
init_trigger_get_mangled_object_vars.phpt
init_trigger_get_object_vars.phpt
init_trigger_json_encode.phpt
init_trigger_json_encode_hooks.phpt
init_trigger_reflection_object_toString.phpt
init_trigger_serialize.phpt
init_trigger_var_dump.phpt
init_trigger_var_dump_debug_info_001.phpt
init_trigger_var_dump_debug_info_002.phpt
init_trigger_var_export.phpt
initializeLazyObject.phpt
initializeLazyObject_error.phpt
initializeLazyObject_noop_on_initialized_object.phpt
initializer_must_return_the_right_type.phpt
invalid_options.phpt
isLazy.phpt Add ReflectionProperty::isLazy() 2024-10-31 14:14:20 +01:00
isset_hooked_may_initialize.phpt
isset_hooked_may_not_initialize.phpt
isset_initializes.phpt
isUninitializedLazyObject.phpt
jit_assign_obj_dynamic.phpt
jit_assign_obj_op_dynamic.phpt
jit_assign_obj_op_prop_info.phpt
jit_assign_obj_op_unknown_prop_info.phpt
jit_assign_obj_op_unknown_prop_info_untyped.phpt
jit_assign_obj_prop_info.phpt
jit_assign_obj_unknown_prop_info.phpt
jit_assign_obj_unknown_prop_info_untyped.phpt
json_encode_dynamic_props.phpt
markLazyObjectAsInitialized.phpt
oss_fuzz_71382.phpt Fix oss-fuzz #71382 (#15854) 2024-09-17 16:06:51 +02:00
oss_fuzz_71407.phpt Lazy objects: Update class constants earlier 2024-10-22 12:19:31 +02:00
oss_fuzz_71446.phpt
realize.phpt
realize_no_props.phpt
realize_proxy_overridden.phpt
realize_skipped.phpt
reset_as_lazy_accepts_sub_classes.phpt
reset_as_lazy_already_exception.phpt
reset_as_lazy_calls_destructor.phpt
reset_as_lazy_can_reset_initialized_proxies.phpt
reset_as_lazy_deletes_reference_source_type.phpt
reset_as_lazy_destructor_exception.phpt
reset_as_lazy_ignores_additional_props.phpt
reset_as_lazy_initialized_proxy.phpt
reset_as_lazy_may_call_nested_destructors.phpt
reset_as_lazy_may_skip_destructor.phpt
reset_as_lazy_readonly.phpt
reset_as_lazy_real_instance.phpt
reset_as_lazy_resets_dynamic_props.phpt Deny resetting an object as lazy during property iteration 2024-10-03 15:12:21 +02:00
reset_as_lazy_while_init_exception.phpt
serialize___serialize_may_initialize.phpt
serialize___serialize_may_not_initialize.phpt
serialize___sleep.phpt
serialize___sleep_initializes.phpt
serialize___sleep_skip_flag.phpt
serialize___sleep_skip_flag_may_initialize.phpt
serialize_dynamic_props.phpt
serialize_failed_lazy_object.phpt
serialize_failed_lazy_object_skip_init_on_serialize.phpt
serialize_hook.phpt
serialize_initializes.phpt
serialize_props_ht.phpt
serialize_skip_flag.phpt
serialize_skip_flag_props_ht.phpt
setRawValueWithoutLazyInitialization.phpt
setRawValueWithoutLazyInitialization_exception_001.phpt
setRawValueWithoutLazyInitialization_exception_002.phpt
setRawValueWithoutLazyInitialization_initialized.phpt Fix setRawValueWithoutLazyInitialization() and skipLazyInitialization() on initialized proxy 2024-11-26 14:04:58 +01:00
setRawValueWithoutLazyInitialization_no_dynamic_prop.phpt
setRawValueWithoutLazyInitialization_readonly.phpt
setRawValueWithoutLazyInitialization_readonly_variant.phpt
setRawValueWithoutLazyInitialization_realize.phpt
setRawValueWithoutLazyInitialization_side_effect_destruct.phpt
setRawValueWithoutLazyInitialization_side_effect_toString.phpt
setRawValueWithoutLazyInitialization_skips___set.phpt
setRawValueWithoutLazyInitialization_skips_hook.phpt
skipLazyInitialization.phpt Fix ReflectionProperty::getRawValue() and related methods for properties overridden with hooks 2025-02-07 10:49:02 +01:00
skipLazyInitialization_default.phpt
skipLazyInitialization_initialized_object.phpt Fix setRawValueWithoutLazyInitialization() and skipLazyInitialization() on initialized proxy 2024-11-26 14:04:58 +01:00
skipLazyInitialization_no_dynamic_prop.phpt
skipLazyInitialization_readonly.phpt
skipLazyInitialization_realize.phpt
skipLazyInitialization_skips___set.phpt
skipLazyInitialization_skips_hooks.phpt
skipLazyInitialization_skips_non_lazy_prop.phpt
support_no_internal_classes.phpt
support_no_internal_sub_classes.phpt
support_readonly_class.phpt
support_readonly_prop.phpt
support_stdClass.phpt
support_stdClass_sub_classes.phpt
typed_properties_001.phpt
typed_properties_002.phpt
typed_properties_003.phpt
typed_properties_004.phpt
unclean_shutdown.phpt zend_assert_valid_class_name(): use double quotes around names (#15990) 2024-09-23 00:44:16 +01:00
unset_defined_no_initialize.phpt
unset_hook.phpt
unset_magic_circular_may_initialize.phpt
unset_magic_may_initialize.phpt
unset_magic_may_not_initialize.phpt
unset_skipped_no_initialize.phpt
unset_undefined_dynamic_initializes.phpt
unset_undefined_dynamic_initializes_no_props_ht.phpt
unset_undefined_initializes.phpt
use_case_001.phpt
use_case_001b.phpt
use_case_002.phpt
write_dynamic_initializes.phpt
write_initializer_exception.phpt
write_initializes.phpt
write_magic_circular_may_initialize.phpt
write_magic_may_initialize.phpt
write_skipped_no_initialize.phpt