]> granicus.if.org Git - php/commitdiff
Prevent class redeclarations
authorZeev Suraski <zeev@php.net>
Fri, 9 Apr 1999 10:59:58 +0000 (10:59 +0000)
committerZeev Suraski <zeev@php.net>
Fri, 9 Apr 1999 10:59:58 +0000 (10:59 +0000)
Zend/zend_compile.c

index 9f4dc4e079f1e2bcfa68897131c1204261389cd1..65ffdf30ea86f53ec1645e1e3529f650136bb02a 100644 (file)
@@ -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);
+       }
 }