From dc37d3e8c2248f4f4437547bc7225276e22ea41d Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Sun, 14 Jun 2015 12:28:40 +0800 Subject: [PATCH] Fixed Bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 extensions are loaded) --- NEWS | 2 ++ ext/hash/hash.c | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index d09da24c6b..f630dadcce 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,8 @@ PHP NEWS 25 Jun 2015, PHP 7.0.0 Alpha 2 - Core: + . Fixed bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 + extensions are loaded). (Laruence) . Fixed bug #69805 (null ptr deref and seg fault in zend_resolve_class_name). (Laruence) . Fixed bug #69761 (Serialization of anonymous classes should be prevented). 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 + } /* }}} */ -- 2.40.0