cvs: ZendEngine2 / zend_compile.c
| From: | Andi Gutmans | Date: | Sat, 07 Dec 2002 15:51:25 +0000 |
| Subject: | cvs: ZendEngine2 / zend_compile.c | ||
| Groups: | php.zend-engine.cvs | ||
| Request: | Send a blank email to php-zend-engine-cvs+get-685@lists.php.net to get a copy of this message | ||
andi Sat Dec 7 10:51:25 2002 EDT
Modified files:
/ZendEngine2 zend_compile.c
Log:
- Dissallow using parent, self and main as class names
Index: ZendEngine2/zend_compile.c
diff -u ZendEngine2/zend_compile.c:1.329 ZendEngine2/zend_compile.c:1.330
--- ZendEngine2/zend_compile.c:1.329 Fri Dec 6 12:09:44 2002
+++ ZendEngine2/zend_compile.c Sat Dec 7 10:51:25 2002
@@ -2106,6 +2106,10 @@
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);