]> granicus.if.org Git - php/commitdiff
Added check for interned strings
authorDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 10:19:43 +0000 (14:19 +0400)
committerDmitry Stogov <dmitry@zend.com>
Tue, 1 Apr 2014 10:19:43 +0000 (14:19 +0400)
Zend/zend_compile.c

index 9ba40dfc33b83710739a0633f2290689b87a5177..8dcaf29cdc1515cd6ba726b55c9a946c7e1dd0c7 100644 (file)
@@ -3871,6 +3871,7 @@ static zend_bool do_inherit_constant_check(HashTable *child_constants_table, con
                    (Z_TYPE_P(old_constant) == IS_LONG && Z_LVAL_P(old_constant) != Z_LVAL_P(parent_constant)) ||
                    (Z_TYPE_P(old_constant) == IS_BOOL && Z_LVAL_P(old_constant) != Z_LVAL_P(parent_constant)) ||
                    (Z_TYPE_P(old_constant) == IS_DOUBLE && Z_DVAL_P(old_constant) != Z_DVAL_P(parent_constant)) ||
+                   (Z_TYPE_P(old_constant) == IS_STRING && Z_STR_P(old_constant) != Z_STR_P(parent_constant)) ||
                    (Z_REFCOUNTED_P(old_constant) && Z_COUNTED_P(old_constant) != Z_COUNTED_P(parent_constant))) {
                        zend_error_noreturn(E_COMPILE_ERROR, "Cannot inherit previously-inherited or override constant %s from interface %s", hash_key->key->val, iface->name->val);
                }