From 885b3451f4e9616e3d7d8e31cc2270f1b07ab139 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 20 Dec 2019 10:33:18 +0100 Subject: Fix early free of assign_obj op_data We need to make sure that op_data is only freed after populating result, as op_data may be the only thing holding the value in the case of an overloaded assignment. This reverts the code to how it looked like in 7.3. --- Zend/tests/overloaded_assign_prop_return_value.phpt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Zend/tests/overloaded_assign_prop_return_value.phpt (limited to 'Zend/tests') diff --git a/Zend/tests/overloaded_assign_prop_return_value.phpt b/Zend/tests/overloaded_assign_prop_return_value.phpt new file mode 100644 index 0000000000..954505f1e9 --- /dev/null +++ b/Zend/tests/overloaded_assign_prop_return_value.phpt @@ -0,0 +1,14 @@ +--TEST-- +Make sure the return value of a property assignment is not freed to early +--FILE-- +prop = new stdClass; +var_dump($x); +?> +--EXPECT-- +object(stdClass)#2 (0) { +} -- cgit v1.2.1