From: mauricio dot seeberger at iwi dot unibe dot ch
Operating system: Gentoo Linux 2.6.4 / Apache2
PHP version: 5.0.0RC1
PHP Bug Type: Reproducible crash
Bug description: str_ireplace crashes if length(search) > length(replace)
Description:
------------
If the first argument of str_ireplace is shorter than the
second one, the function crashes (segfault).
diff php.ini-dist /etc/php/apache2-php5/php.ini
79c79
< short_open_tag = On
---
> short_open_tag = Off
410c410
< ;default_charset = "iso-8859-1"
---
> default_charset = "iso-8859-1"
438c438
< extension_dir = "./"
---
> extension_dir
= /usr/lib/php/extensions/no-debug-non-zts-20040316
496c496,498
< allow_url_fopen = On
---
> ; allow_url_fopen = On
> ; Closed for security - <[EMAIL PROTECTED]>
> allow_url_fopen = Off
534c536
< ; extension_dir directive above.
---
> ; extension_dir
= /usr/lib/php/extensions/no-debug-non-zts-20040316
879c881
< session.cookie_lifetime = 0
---
> session.cookie_lifetime = 1800
The configure line from phpinfo():
'./configure' '--prefix=/usr' '--host=i686-pc-linux-gnu'
'--mandir=/usr/share/man' '--infodir=/usr/share/info'
'--datadir=/usr/share' '--sysconfdir=/etc'
'--localstatedir=/var/lib' '--with-apxs2=/usr/sbin/apxs2'
'--with-ndbm=/usr' '--with-db4=/usr' '--with-mcrypt=/usr'
'--with-mhash=/usr' '--without-interbase' '--without-ming'
'--without-swf' '--without-sybase' '--with-gdbm=/usr'
'--without-fdftk' '--without-java' '--with-mcal=/usr'
'--with-unixODBC=/usr' '--with-pgsql=/usr'
'--without-snmp' '--with-pdflib=/usr' '--with-gd'
'--enable-gd-native-ttf' '--with-png=/usr'
'--with-png-dir=/usr' '--with-jpeg=/usr'
'--with-jpeg-dir=/usr' '--enable-exif' '--with-tiff=/usr'
'--with-tiff-dir=/usr' '--with-mysql=/usr'
'--with-mysql-sock=/var/run/mysqld/mysqld.sock'
'--with-freetype-dir=/usr' '--with-ttf=/usr'
'--with-t1lib=/usr' '--with-gettext' '--without-qtdom'
'--with-pspell=/usr' '--with-openssl=/usr'
'--with-imap=/usr' '--with-ldap=/usr' '--with-dom=/usr'
'--with-dom-xslt=/usr' '--with-dom-exslt=/usr'
'--with-kerberos=/usr' '--with-pam'
'--disable-memory-limit' '--disable-ipv6' '--without-yaz'
'--without-curl' '--enable-dbx' '--with-imap-ssl'
'--with-zlib=/usr' '--with-zlib-dir=/usr'
'--with-sablot=/usr' '--enable-xslt' '--with-xslt-sablot'
'--with-xmlrpc' '--enable-wddx' '--with-xml'
'--enable-mbstring=all' '--enable-mbregex'
'--with-bz2=/usr' '--with-crack=/usr' '--with-cdb'
'--enable-pcntl' '--enable-bcmath' '--enable-calendar'
'--enable-dbase' '--enable-filepro' '--enable-ftp'
'--with-mime-magic=/usr/share/misc/file/magic.mime'
'--enable-sockets' '--enable-sysvsem' '--enable-sysvshm'
'--enable-sysvipc' '--with-iconv' '--enable-shmop'
'--enable-dio' '--enable-yp' '--without-ncurses'
'--without-readline' '--enable-inline-optimization'
'--enable-track-vars' '--enable-trans-sid'
'--enable-versioning'
'--with-config-file-path=/etc/php/apache2-php5'
Reproduce code:
---------------
echo(str_ireplace('es','q','test'));
Expected result:
----------------
output should be:
tqt
Actual result:
--------------
An error occurred while loading http://..../test.php:
Connection to host ... is broken
In Apache2 error log I get following:
[Thu Apr 08 19:20:43 2004] [notice] child pid 636 exit
signal Segmentation fault (11)
--
Edit bug report at http://bugs.php.net/?id=27922&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=27922&r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=27922&r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=27922&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=27922&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=27922&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=27922&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=27922&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=27922&r=support
Expected behavior: http://bugs.php.net/fix.php?id=27922&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=27922&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=27922&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=27922&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=27922&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=27922&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=27922&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=27922&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=27922&r=float