diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2018-05-28 16:27:12 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2018-05-28 16:27:12 +0300 |
| commit | 5eb1f92f31cafc48384f9096012f421b37f6d425 (patch) | |
| tree | 4ed67b92229407e7b5cbab37b96428fe80eb3f94 /Zend/zend_constants.c | |
| parent | 925f05dd1a35eafa71eb29abb69cdfc31a23a75d (diff) | |
| download | php-git-5eb1f92f31cafc48384f9096012f421b37f6d425.tar.gz | |
Use zend_string_release_ex() instread of zend_string_release() in places, where we sure about string persistence.
Diffstat (limited to 'Zend/zend_constants.c')
| -rw-r--r-- | Zend/zend_constants.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index b07901c470..c64de9839b 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -41,13 +41,17 @@ void free_zend_constant(zval *zv) if (!(c->flags & CONST_PERSISTENT)) { zval_ptr_dtor(&c->value); + if (c->name) { + zend_string_release_ex(c->name, 0); + } + efree(c); } else { zval_internal_dtor(&c->value); + if (c->name) { + zend_string_release_ex(c->name, 1); + } + free(c); } - if (c->name) { - zend_string_release(c->name); - } - pefree(c, c->flags & CONST_PERSISTENT); } @@ -378,7 +382,7 @@ ZEND_API zval *zend_get_constant_ex(zend_string *cname, zend_class_entry *scope, } } failure: - zend_string_release(class_name); + zend_string_release_ex(class_name, 0); zend_string_efree(constant_name); return ret_constant; } |
