diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-12-17 09:58:56 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-12-17 09:58:56 +0300 |
commit | c8dbbd74e92c7f20d205a6af48e76ee77fd584c1 (patch) | |
tree | 19fda4a34d3c8af3bd5bafbda36e71bee5019b14 /Zend/zend_API.c | |
parent | 7d07f19eee468292905384e6d7c26e2dfe39dd6f (diff) | |
parent | 0927af3d8d8fc422ae3f43687c0265ea7d917acd (diff) | |
download | php-git-c8dbbd74e92c7f20d205a6af48e76ee77fd584c1.tar.gz |
Merge branch 'PHP-7.4'
* PHP-7.4:
Fixed memory leaks
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 7d16e376c3..bc21e5d2eb 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2475,17 +2475,22 @@ ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ { if (EG(full_tables_cleanup)) { zend_module_entry *module; + zval *zv; + zend_string *key; ZEND_HASH_FOREACH_PTR(&module_registry, module) { if (module->post_deactivate_func) { module->post_deactivate_func(); } } ZEND_HASH_FOREACH_END(); - ZEND_HASH_REVERSE_FOREACH_PTR(&module_registry, module) { + ZEND_HASH_REVERSE_FOREACH_STR_KEY_VAL(&module_registry, key, zv) { + module = Z_PTR_P(zv); if (module->type != MODULE_TEMPORARY) { break; } module_destructor(module); + free(module); + zend_string_release_ex(key, 0); } ZEND_HASH_FOREACH_END_DEL(); } else { zend_module_entry **p = module_post_deactivate_handlers; |