diff --git a/Zend/tests/in-de-crement/oss-fuzz-61469_binop_dynamic_property_unset_error_handler.phpt b/Zend/tests/in-de-crement/oss-fuzz-61469_binop_dynamic_property_unset_error_handler.phpt new file mode 100644 index 0000000000000..7c3e7044ad550 --- /dev/null +++ b/Zend/tests/in-de-crement/oss-fuzz-61469_binop_dynamic_property_unset_error_handler.phpt @@ -0,0 +1,16 @@ +--TEST-- +OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler +--FILE-- +a); + } +} +$c = new C; +set_error_handler([$c,'errorHandle']); +$c->a += 5; +var_dump($c->a); +?> +--EXPECT-- +int(5) diff --git a/Zend/tests/in-de-crement/oss-fuzz-61469_postdec_dynamic_property_unset_error_handler.phpt b/Zend/tests/in-de-crement/oss-fuzz-61469_postdec_dynamic_property_unset_error_handler.phpt new file mode 100644 index 0000000000000..4db0011fb52df --- /dev/null +++ b/Zend/tests/in-de-crement/oss-fuzz-61469_postdec_dynamic_property_unset_error_handler.phpt @@ -0,0 +1,19 @@ +--TEST-- +OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler +--FILE-- +a); + } +} +$c = new C; +set_error_handler([$c,'errorHandle']); + +$v = ($c->a--); +var_dump($c->a); +var_dump($v); +?> +--EXPECT-- +NULL +NULL diff --git a/Zend/tests/in-de-crement/oss-fuzz-61469_postinc_dynamic_property_unset_error_handler.phpt b/Zend/tests/in-de-crement/oss-fuzz-61469_postinc_dynamic_property_unset_error_handler.phpt new file mode 100644 index 0000000000000..4db0011fb52df --- /dev/null +++ b/Zend/tests/in-de-crement/oss-fuzz-61469_postinc_dynamic_property_unset_error_handler.phpt @@ -0,0 +1,19 @@ +--TEST-- +OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler +--FILE-- +a); + } +} +$c = new C; +set_error_handler([$c,'errorHandle']); + +$v = ($c->a--); +var_dump($c->a); +var_dump($v); +?> +--EXPECT-- +NULL +NULL diff --git a/Zend/tests/in-de-crement/oss-fuzz-61469_predec_dynamic_property_unset_error_handler.phpt b/Zend/tests/in-de-crement/oss-fuzz-61469_predec_dynamic_property_unset_error_handler.phpt new file mode 100644 index 0000000000000..10c6f0acb076e --- /dev/null +++ b/Zend/tests/in-de-crement/oss-fuzz-61469_predec_dynamic_property_unset_error_handler.phpt @@ -0,0 +1,16 @@ +--TEST-- +OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler +--FILE-- +a); + } +} +$c = new C; +set_error_handler([$c,'errorHandle']); +(--$c->a); +var_dump($c->a); +?> +--EXPECT-- +NULL diff --git a/Zend/tests/in-de-crement/oss-fuzz-61469_preinc_dynamic_property_unset_error_handler.phpt b/Zend/tests/in-de-crement/oss-fuzz-61469_preinc_dynamic_property_unset_error_handler.phpt new file mode 100644 index 0000000000000..26c5eb4e0b1f5 --- /dev/null +++ b/Zend/tests/in-de-crement/oss-fuzz-61469_preinc_dynamic_property_unset_error_handler.phpt @@ -0,0 +1,16 @@ +--TEST-- +OSS Fuzz #61469: Undef variable in ++/-- for dynamic property that is unset in error handler +--FILE-- +a); + } +} +$c = new C; +set_error_handler([$c,'errorHandle']); +(++$c->a); +var_dump($c->a); +?> +--EXPECT-- +int(1)