ID: 27675
Updated by: [EMAIL PROTECTED]
Reported By: marcel at korton dot nl
-Status: Open
+Status: Assigned
Bug Type: Strings related
Operating System: win XP
PHP Version: 5.0.0RC1
-Assigned To:
+Assigned To: pollita
New Comment:
Verified the problem. The following patch fixes it for me.
Index: string.c
===================================================================
RCS file: /repository/php-src/ext/standard/string.c,v
retrieving revision 1.413
diff -u -r1.413 string.c
--- string.c 18 Mar 2004 09:48:37 -0000 1.413
+++ string.c 26 Mar 2004 01:46:19 -0000
@@ -3065,6 +3065,10 @@
e += end - p;
}
} else {
+ haystack_dup = estrndup(haystack,
length);
+ needle_dup = estrndup(needle,
needle_len);
+ php_strtolower(haystack_dup, length);
+ php_strtolower(needle_dup,
needle_len);
end = haystack_dup + length;
for (p = haystack_dup; (r =
php_memnstr(p, needle_dup, needle_len, end)); p = r + needle_len) {
Previous Comments:
------------------------------------------------------------------------
[2004-03-25 20:00:14] nick at linuxmail dot org
I've noticed this only seems to crash when the replacement string is
not the same length as the searched-for string.
------------------------------------------------------------------------
[2004-03-24 10:24:38] marcel at korton dot nl
Description:
------------
str_ireplace gives an unexpected result
Reproduce code:
---------------
<?php
$strResult = '/*<B>i see this</B>*/';
echo $strResult;
$strResult = str_ireplace('/*<B>', '<B>', $strResult );
echo $strResult;
?>
Expected result:
----------------
<B>i see this</B>*/'
Actual result:
--------------
PHP has encountered an Access Violation at 00CB7C21/*i see this*/
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27675&edit=1