summaryrefslogtreecommitdiff
path: root/ext/opcache/ZendAccelerator.c
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2020-09-14 22:36:00 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2020-09-14 22:36:00 +0200
commitf51bbcc2b2fd54ce75bf7d554a010c5bb5ea991d (patch)
tree2693226d2d1733859356478d57bfaec9bcb27d86 /ext/opcache/ZendAccelerator.c
parenta4c3aee5b22a7e250ac5b89e25877261450cfe1d (diff)
parent15236fb83eda8d741bf0d5df8b25ab8d0c4e9083 (diff)
downloadphp-git-f51bbcc2b2fd54ce75bf7d554a010c5bb5ea991d.tar.gz
Merge branch 'PHP-7.4' into master
* PHP-7.4: Avoid segfault if module/extension version is not defined
Diffstat (limited to 'ext/opcache/ZendAccelerator.c')
-rw-r--r--ext/opcache/ZendAccelerator.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c
index 72dc299219..46363acb7b 100644
--- a/ext/opcache/ZendAccelerator.c
+++ b/ext/opcache/ZendAccelerator.c
@@ -2734,12 +2734,16 @@ static void accel_gen_system_id(void)
*/
ZEND_HASH_FOREACH_PTR(&module_registry, module) {
PHP_MD5Update(&context, module->name, strlen(module->name));
- PHP_MD5Update(&context, module->version, strlen(module->version));
+ if (module->version != NULL) {
+ PHP_MD5Update(&context, module->version, strlen(module->version));
+ }
} ZEND_HASH_FOREACH_END();
extension = (zend_extension *) zend_llist_get_first_ex(&zend_extensions, &pos);
while (extension) {
PHP_MD5Update(&context, extension->name, strlen(extension->name));
- PHP_MD5Update(&context, extension->version, strlen(extension->version));
+ if (extension->version != NULL) {
+ PHP_MD5Update(&context, extension->version, strlen(extension->version));
+ }
extension = (zend_extension *) zend_llist_get_next_ex(&zend_extensions, &pos);
}
PHP_MD5Final(digest, &context);