From 0df65e5f524c8574bf834a62c7ef25e08ad86219 Mon Sep 17 00:00:00 2001 From: Mars Lan Date: Tue, 3 Sep 2013 16:59:10 -0700 Subject: [PATCH 1/2] Seg Fault fix for more than one modules: https://bugs.php.net/bug.php?id=63159 --- main/main.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/main/main.c b/main/main.c index 2f56afa03a3f..c602926e3eda 100644 --- a/main/main.c +++ b/main/main.c @@ -2199,7 +2199,17 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod } /* start additional PHP extensions */ - php_register_extensions(&additional_modules, num_additional_modules TSRMLS_CC); + { + zend_module_entry** additional_modules_array = (zend_module_entry**) + emalloc(sizeof(zend_module_entry*)*num_additional_modules); + int i = 0; + for (i = 0; i < num_additional_modules; ++i) { + additional_modules_array[i] = &additional_modules[i]; + } + + php_register_extensions(additional_modules_array, num_additional_modules TSRMLS_CC); + efree(additional_modules_array); + } /* load and startup extensions compiled as shared objects (aka DLLs) as requested by php.ini entries From 98c7c4dc5019ca58ece92504af49fbc303a8af44 Mon Sep 17 00:00:00 2001 From: Mars Lan Date: Tue, 3 Sep 2013 17:02:34 -0700 Subject: [PATCH 2/2] Seg Fault fix for more than one modules: https://bugs.php.net/bug.php?id=63159 --- main/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/main.c b/main/main.c index c602926e3eda..9a13a9a35435 100644 --- a/main/main.c +++ b/main/main.c @@ -2207,7 +2207,7 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod additional_modules_array[i] = &additional_modules[i]; } - php_register_extensions(additional_modules_array, num_additional_modules TSRMLS_CC); + php_register_extensions(additional_modules_array, num_additional_modules TSRMLS_CC); efree(additional_modules_array); }