diff options
author | Nikita Popov <nikita.ppv@gmail.com> | 2019-04-18 10:10:15 +0200 |
---|---|---|
committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-04-18 10:10:15 +0200 |
commit | ed4c24274bc45aae3b18f26d19db06b42624ecdf (patch) | |
tree | a6a23d1787a60aea046db4852dc5dd06685eeec3 /Zend/zend_API.c | |
parent | 38f9c8d93da66e191116dd23b6ea7ede494c71f2 (diff) | |
download | php-git-ed4c24274bc45aae3b18f26d19db06b42624ecdf.tar.gz |
Fix dl() module unloading in post deactivate
FOREACH_END_DEL() does not call the destructor by itself, we need to
explicitly call it. Due to the missing dtor call the functions were
not unregistered early, which resulted in later shutdown segfaults.
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 33d74db1a6..fbac5e47ec 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2608,6 +2608,7 @@ ZEND_API void zend_post_deactivate_modules(void) /* {{{ */ if (module->type != MODULE_TEMPORARY) { break; } + module_destructor(module); } ZEND_HASH_FOREACH_END_DEL(); } else { zend_module_entry **p = module_post_deactivate_handlers; |