diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-09-14 22:31:15 +0200 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-09-14 22:34:10 +0200 |
commit | 4e198c00646604b5fe6726cdc9eba4c2b7861ce2 (patch) | |
tree | 6d5dc135e1eb6f170100b75055aa834769beb23e | |
parent | dfb3a799140d7d526c0ab77be437b663bfac9cc4 (diff) | |
download | php-git-4e198c00646604b5fe6726cdc9eba4c2b7861ce2.tar.gz |
Avoid segfault if module/extension version is not defined
-rw-r--r-- | ext/opcache/ZendAccelerator.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 3c6a1ae689..dffa3849f8 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -2710,12 +2710,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); |