From 1d1a796b588e7991a06406ecdec90b84b973998a Mon Sep 17 00:00:00 2001 From: Andi Gutmans Date: Sat, 7 Dec 2002 15:51:25 +0000 Subject: [PATCH] - Dissallow using parent, self and main as class names --- Zend/zend_compile.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 071502ddac..d11371ed74 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -2106,6 +2106,10 @@ void zend_do_begin_class_declaration(znode *class_token, znode *class_name, znod class_token->u.previously_active_class_entry = CG(active_class_entry); new_class_entry->type = ZEND_USER_CLASS; + if (!(strcmp(class_name->u.constant.value.str.val, "main") && strcmp(class_name->u.constant.value.str.val, "self") && + strcmp(class_name->u.constant.value.str.val, "parent"))) { + zend_error(E_COMPILE_ERROR, "Cannot use '%s' as class name as it is reserved", class_name->u.constant.value.str.val); + } if (CG(active_class_entry)) { new_class_entry->name_length = sizeof("::")-1 + class_name->u.constant.value.str.len + CG(active_class_entry)->name_length; new_class_entry->name = emalloc(new_class_entry->name_length+1); -- 2.50.1