summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-09-13 13:36:09 +0300
committerDmitry Stogov <dmitry@zend.com>2018-09-13 13:36:09 +0300
commitbc288c47230919c326b82133ff5306f4eff690b4 (patch)
tree52f41a44d141cacb24baca746b1010ea81332948 /Zend/zend_execute.c
parent72bf2def6b718ae9ca243b6a9ab9a3a85d255f96 (diff)
downloadphp-git-bc288c47230919c326b82133ff5306f4eff690b4.tar.gz
Simplify __clone() visibility check (magic methods still don't respect ZEND_ACC_CHANGED).
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index fa2f17571d..6859654bbe 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2287,6 +2287,10 @@ static zend_never_inline void zend_fetch_this_var(int type OPLINE_DC EXECUTE_DAT
}
}
+static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_wrong_clone_call(zend_function *clone, zend_class_entry *scope)
+{
+ zend_throw_error(NULL, "Call to %s %s::__clone() from context '%s'", zend_visibility_string(clone->common.fn_flags), ZSTR_VAL(clone->common.scope->name), scope ? ZSTR_VAL(scope->name) : "");
+}
#if ZEND_INTENSIVE_DEBUGGING