diff options
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r-- | Zend/zend_constants.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 4f2cedb9af..4930d1fdd4 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -32,7 +32,9 @@ void free_zend_constant(zval *zv) zend_constant *c = Z_PTR_P(zv); if (!(c->flags & CONST_PERSISTENT)) { - zval_dtor(&c->value); + if (Z_REFCOUNTED(c->value) || Z_IMMUTABLE(c->value)) { + _zval_dtor_func(Z_COUNTED(c->value) ZEND_FILE_LINE_CC); + } } else { zval_internal_dtor(&c->value); } |