summaryrefslogtreecommitdiff
path: root/Zend/zend_compile.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>1999-04-09 10:59:58 +0000
committerZeev Suraski <zeev@php.net>1999-04-09 10:59:58 +0000
commit0a6e9ddd7fc5020d55b8329760ade7b9b7892528 (patch)
treec7f98db01fe02a71fa30014e8af62872c23fc93c /Zend/zend_compile.c
parent3edb99e8acc3f2c720f7f8d490b9535b6e6b67a5 (diff)
downloadphp-git-0a6e9ddd7fc5020d55b8329760ade7b9b7892528.tar.gz
Prevent class redeclarations
Diffstat (limited to 'Zend/zend_compile.c')
-rw-r--r--Zend/zend_compile.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 9f4dc4e079..65ffdf30ea 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -1134,7 +1134,9 @@ void do_begin_class_declaration(znode *class_name, znode *parent_class_name CLS_
CG(class_entry).handle_property_set = NULL;
CG(class_entry).handle_property_get = NULL;
- zend_hash_add(CG(class_table), CG(class_entry).name, CG(class_entry).name_length+1, &CG(class_entry), sizeof(zend_class_entry), (void **) &CG(active_class_entry));
+ if (zend_hash_add(CG(class_table), CG(class_entry).name, CG(class_entry).name_length+1, &CG(class_entry), sizeof(zend_class_entry), (void **) &CG(active_class_entry))==FAILURE) {
+ zend_error(E_COMPILE_ERROR, "Class %s cannot be redeclared", CG(class_entry).name);
+ }
}