]> granicus.if.org Git - php/commitdiff
Fixed Bug #69823 (PHP 7.0.0alpha1 segmentation fault when exactly 33 extensions are...
authorXinchen Hui <laruence@php.net>
Sun, 14 Jun 2015 04:28:40 +0000 (12:28 +0800)
committerXinchen Hui <laruence@php.net>
Sun, 14 Jun 2015 04:28:40 +0000 (12:28 +0800)
NEWS
ext/hash/hash.c

diff --git a/NEWS b/NEWS
index d09da24c6beff09a7422fa7330a8320a3dad961b..f630dadccefe16546005a59efaa57ee7a69c3551 100644 (file)
--- 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).
index 0510d3749c30be27d1311883fb766905791e0988..d72b88c87901296c6558259a610566f453183eb5 100644 (file)
@@ -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
+
 }
 /* }}} */