]> granicus.if.org Git - php/commitdiff
Prevent possible double inheritance (ext/opcache/tests/bug67215.phpt)
authorDmitry Stogov <dmitry@zend.com>
Tue, 10 Mar 2015 15:50:07 +0000 (18:50 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 10 Mar 2015 15:50:07 +0000 (18:50 +0300)
Zend/zend_compile.c

index 2a428fcc8a206fa035ffaf13dfddaa49426aa8c2..f2de2c74d8acdca7dbc6bbcdca31f5a88ca9da4b 100644 (file)
@@ -975,6 +975,10 @@ ZEND_API zend_class_entry *do_bind_inherited_class(const zend_op_array *op_array
                return NULL;
        }
 
+       if (zend_hash_exists(class_table, Z_STR_P(op2))) {
+               zend_error_noreturn(E_COMPILE_ERROR, "Cannot redeclare class %s", ce->name->val);
+       }
+
        zend_do_inheritance(ce, parent_ce);
 
        ce->refcount++;