From: Dmitry Stogov Date: Wed, 1 Nov 2017 13:18:13 +0000 (+0300) Subject: Reverted incomplete fix and too strict asserts. X-Git-Tag: php-7.3.0alpha1~1112^2~3 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=990d8092a4d09648f885a71389156217e5a13db3;p=php Reverted incomplete fix and too strict asserts. --- diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index bbe69d0a43..a5dd15f256 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -6080,7 +6080,6 @@ void zend_compile_class_const_decl(zend_ast *ast) /* {{{ */ zend_const_expr_to_zval(&value_zv, value_ast); if (Z_TYPE(value_zv) == IS_STRING && !ZSTR_IS_INTERNED(Z_STR(value_zv))) { - SEPARATE_STRING(&value_zv); zval_make_interned_string(&value_zv); } zend_declare_class_constant_ex(ce, name, &value_zv, ast->attr, doc_comment); diff --git a/Zend/zend_variables.c b/Zend/zend_variables.c index 1d3d2a66a7..7ff0916e7c 100644 --- a/Zend/zend_variables.c +++ b/Zend/zend_variables.c @@ -34,9 +34,13 @@ ZEND_API void ZEND_FASTCALL _zval_dtor_func(zend_refcounted *p ZEND_FILE_LINE_DC case IS_STRING: { zend_string *str = (zend_string*)p; CHECK_ZVAL_STRING_REL(str); +#if ZEND_RC_DEBUG ZEND_ASSERT(!ZSTR_IS_INTERNED(str)); ZEND_ASSERT(GC_REFCOUNT(str) == 0); pefree(str, GC_FLAGS(str) & IS_STR_PERSISTENT); +#else + zend_string_free(str); +#endif break; } case IS_ARRAY: {