From ee610947ce03a5d83447f144886b4d5278e1b47b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Mon, 27 Dec 2021 21:08:51 +0100 Subject: [PATCH] Revert "Fix zend_observer_fcall_end_all() accessing dangling pointers" This reverts commit 76e2a8380e5e030412e9d565955d011972af8418. Cf. . --- NEWS | 2 -- Zend/zend_observer.c | 1 - ext/zend_test/tests/observer_bug81430_1.phpt | 27 -------------------- 3 files changed, 30 deletions(-) delete mode 100644 ext/zend_test/tests/observer_bug81430_1.phpt diff --git a/NEWS b/NEWS index cbbd41ab5e1..30f8b64959f 100644 --- a/NEWS +++ b/NEWS @@ -6,8 +6,6 @@ PHP NEWS . Fixed bug #81656 (GCC-11 silently ignores -R). (Michael Wallner) . Fixed bug #81585 (cached_chunks are not counted to real_size on shutdown). (cmb) - . Fixed zend_observer_fcall_end_all() accessing dangling pointers. (Florian - Sowade) - Filter: . Fixed FILTER_FLAG_NO_RES_RANGE flag. (Yifan Tong) diff --git a/Zend/zend_observer.c b/Zend/zend_observer.c index 08c09e8ff17..b970acd85c8 100644 --- a/Zend/zend_observer.c +++ b/Zend/zend_observer.c @@ -229,7 +229,6 @@ ZEND_API void ZEND_FASTCALL zend_observer_fcall_end( zend_execute_data *ex = execute_data->prev_execute_data; while (ex && (!ex->func || ex->func->type == ZEND_INTERNAL_FUNCTION || !ZEND_OBSERVABLE_FN(ex->func->common.fn_flags) - || !&RUN_TIME_CACHE(&ex->func->op_array) || !ZEND_OBSERVER_DATA(&ex->func->op_array) || ZEND_OBSERVER_DATA(&ex->func->op_array) == ZEND_OBSERVER_NOT_OBSERVED)) { ex = ex->prev_execute_data; diff --git a/ext/zend_test/tests/observer_bug81430_1.phpt b/ext/zend_test/tests/observer_bug81430_1.phpt deleted file mode 100644 index 830112b1b53..00000000000 --- a/ext/zend_test/tests/observer_bug81430_1.phpt +++ /dev/null @@ -1,27 +0,0 @@ ---TEST-- -Bug #81430 (Attribute instantiation frame has no run time cache) ---INI-- -memory_limit=20M -zend_test.observer.enabled=1 -zend_test.observer.observe_all=1 ---FILE-- -getAttributes(A::class)[0], 'newInstance']); -?> ---EXPECTF-- - - - - - -