Bug #63159 [NEW]: Passing > 1 additional module to php_module_startup causes a segfault
From: slangley at google dot com
Operating system: N/A
PHP version: 5.4.7
Package: Reproducible crash
Bug Type: Bug
Bug description:Passing > 1 additional module to php_module_startup causes a segfault
Description:
------------
This was reported in 2004 but seemingly never fixed?
http://marc.info/?l=php-internals&m=110257814320454&w=2
php_module_startup expects a pointer to an array of structures of
zend_module_entry. This gets passed to php_register_extensions which
expects an
array of points to structures of zend_module_entry. php_register_extensions
then
tries to use pointer arithmetic to walk along the passed array, which will
cause a
seg fault.
I will make a pull request on github with this fix.
Test script:
---------------
Write a SAPI, pass > 2 additional modules to php_module_startup.
--
Edit bug report at https://bugs.php.net/bug.php?id=63159&edit=1
--
Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=63159&r=trysnapshot54
Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=63159&r=trysnapshot53
Try a snapshot (trunk): https://bugs.php.net/fix.php?id=63159&r=trysnapshottrunk
Fixed in SVN: https://bugs.php.net/fix.php?id=63159&r=fixed
Fixed in release: https://bugs.php.net/fix.php?id=63159&r=alreadyfixed
Need backtrace: https://bugs.php.net/fix.php?id=63159&r=needtrace
Need Reproduce Script: https://bugs.php.net/fix.php?id=63159&r=needscript
Try newer version: https://bugs.php.net/fix.php?id=63159&r=oldversion
Not developer issue: https://bugs.php.net/fix.php?id=63159&r=support
Expected behavior: https://bugs.php.net/fix.php?id=63159&r=notwrong
Not enough info: https://bugs.php.net/fix.php?id=63159&r=notenoughinfo
Submitted twice: https://bugs.php.net/fix.php?id=63159&r=submittedtwice
register_globals: https://bugs.php.net/fix.php?id=63159&r=globals
PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63159&r=php4
Daylight Savings: https://bugs.php.net/fix.php?id=63159&r=dst
IIS Stability: https://bugs.php.net/fix.php?id=63159&r=isapi
Install GNU Sed: https://bugs.php.net/fix.php?id=63159&r=gnused
Floating point limitations: https://bugs.php.net/fix.php?id=63159&r=float
No Zend Extensions: https://bugs.php.net/fix.php?id=63159&r=nozend
MySQL Configuration Error: https://bugs.php.net/fix.php?id=63159&r=mysqlcfg
Thread (14 messages)
- slangley at google dot com
- laruence@php.netBug #63159 [Opn]: Passing > 1 additional module to php_module_startup causes a segfault
- slangley at google dot comBug #63159 [Opn]: Passing > 1 additional module to php_module_startup causes a segfault
- stas@php.netBug #63159 [Opn->Fbk]: Passing > 1 additional module to php_module_startup causes a segfault
- slangley at google dot comBug #63159 [Com]: Passing > 1 additional module to php_module_startup causes a segfault
- pajoye@php.netBug #63159 [Fbk]: Passing > 1 additional module to php_module_startup causes a segfault
- slangley at google dot comBug #63159 [Com]: Passing > 1 additional module to php_module_startup causes a segfault
- pajoye@php.netBug #63159 [Fbk]: Passing > 1 additional module to php_module_startup causes a segfault
- slangley at google dot comBug #63159 [Com]: Passing > 1 additional module to php_module_startup causes a segfault
- pajoye@php.netBug #63159 [Fbk]: Passing > 1 additional module to php_module_startup causes a segfault
- slangley at google dot comBug #63159 [Com]: Passing > 1 additional module to php_module_startup causes a segfault
- php-bugs at lists dot php dot netBug #63159 [Fbk->NoF]: Passing > 1 additional module to php_module_startup causes a segfault
- stas@php.netBug #63159 [NoF->Opn]: Passing > 1 additional module to php_module_startup causes a segfault
- pollita@php.netBug #63159 [Opn->Csd]: Passing > 1 additional module to php_module_startup causes a segfault