summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-12-17 09:58:56 +0300
committerDmitry Stogov <dmitry@zend.com>2019-12-17 09:58:56 +0300
commitc8dbbd74e92c7f20d205a6af48e76ee77fd584c1 (patch)
tree19fda4a34d3c8af3bd5bafbda36e71bee5019b14 /Zend/zend_API.c
parent7d07f19eee468292905384e6d7c26e2dfe39dd6f (diff)
parent0927af3d8d8fc422ae3f43687c0265ea7d917acd (diff)
downloadphp-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.c7
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;