diff options
| author | Zeev Suraski <zeev@php.net> | 1999-04-09 10:59:58 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 1999-04-09 10:59:58 +0000 |
| commit | 0a6e9ddd7fc5020d55b8329760ade7b9b7892528 (patch) | |
| tree | c7f98db01fe02a71fa30014e8af62872c23fc93c /Zend/zend_compile.c | |
| parent | 3edb99e8acc3f2c720f7f8d490b9535b6e6b67a5 (diff) | |
| download | php-git-0a6e9ddd7fc5020d55b8329760ade7b9b7892528.tar.gz | |
Prevent class redeclarations
Diffstat (limited to 'Zend/zend_compile.c')
| -rw-r--r-- | Zend/zend_compile.c | 4 |
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); + } } |
