summaryrefslogtreecommitdiff
path: root/ext/hash/hash.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@php.net>2015-06-14 12:28:40 +0800
committerXinchen Hui <laruence@php.net>2015-06-14 12:28:40 +0800
commitdc37d3e8c2248f4f4437547bc7225276e22ea41d (patch)
treebab9c59769063d45b61daa21249494eb7def7c1a /ext/hash/hash.c
parent3cfa58367b1b85d346d9be6cf9ae116c63571247 (diff)
downloadphp-git-dc37d3e8c2248f4f4437547bc7225276e22ea41d.tar.gz
Fixed Bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 extensions are loaded)
Diffstat (limited to 'ext/hash/hash.c')
-rw-r--r--ext/hash/hash.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/ext/hash/hash.c b/ext/hash/hash.c
index 0510d3749c..d72b88c879 100644
--- a/ext/hash/hash.c
+++ b/ext/hash/hash.c
@@ -794,6 +794,9 @@ static void php_hash_dtor(zend_resource *rsrc) /* {{{ */
#ifdef PHP_MHASH_BC
+#if 0
+/* See #69823, we should not insert module into module_registry while doing startup */
+
PHP_MINFO_FUNCTION(mhash)
{
php_info_print_table_start();
@@ -814,6 +817,7 @@ zend_module_entry mhash_module_entry = {
PHP_MHASH_VERSION,
STANDARD_MODULE_PROPERTIES,
};
+#endif
static void mhash_init(INIT_FUNC_ARGS)
{
@@ -830,7 +834,8 @@ static void mhash_init(INIT_FUNC_ARGS)
len = slprintf(buf, 127, "MHASH_%s", algorithm.mhash_name, strlen(algorithm.mhash_name));
zend_register_long_constant(buf, len, algorithm.value, CONST_CS | CONST_PERSISTENT, module_number);
}
- zend_register_internal_module(&mhash_module_entry);
+
+ /* TODO: this cause #69823 zend_register_internal_module(&mhash_module_entry); */
}
/* {{{ proto string mhash(int hash, string data [, string key])
@@ -1090,6 +1095,14 @@ PHP_MINFO_FUNCTION(hash)
php_info_print_table_row(2, "hash support", "enabled");
php_info_print_table_row(2, "Hashing Engines", buffer);
php_info_print_table_end();
+
+#ifdef PHP_MHASH_BC
+ php_info_print_table_start();
+ php_info_print_table_row(2, "MHASH support", "Enabled");
+ php_info_print_table_row(2, "MHASH API Version", "Emulated Support");
+ php_info_print_table_end();
+#endif
+
}
/* }}} */