summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
Diffstat (limited to 'Zend')
-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);
+ }
}