From 0927af3d8d8fc422ae3f43687c0265ea7d917acd Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Tue, 17 Dec 2019 09:58:27 +0300 Subject: [PATCH] Fixed memory leaks --- Zend/zend_API.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 21d2c964e84..3e05d6d022b 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2656,17 +2656,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;