#43841 [Fbk]: mb_strrpos offset is byte count for negative values

From: Date: Mon, 18 Feb 2008 14:07:23 +0000
Subject: #43841 [Fbk]: mb_strrpos offset is byte count for negative values
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-122405@lists.php.net to get a copy of this message
ID: 43841 Updated by: jmessa@php.net Reported By: jmessa@php.net Status: Feedback Bug Type: mbstring related Operating System: Windows XP PHP Version: 5.2CVS-2008-01-14 (snap) Assigned To: hirokawa New Comment: I've run this test against the latest 5.2 and 5.3 snapshots and can see that there's now bounds checking for this function and I'm getting error messages returned as with strrpos (thanks!). When $offset = -13 the multibyte string is still returning int(9) though so it looks like there is still a bug here. Thanks for what you've done so far Previous Comments: ------------------------------------------------------------------------ [2008-02-16 10:44:19] hirokawa@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.3-latest.tar.gz For Windows (zip): http://snaps.php.net/win32/php5.3-win32-latest.zip For Windows (installer): http://snaps.php.net/win32/php5.3-win32-installer-latest.msi ------------------------------------------------------------------------ [2008-02-12 09:53:06] jmessa@php.net I also thought I'd say now that I've committed a load of mbstring tests to CVS if you haven't seen them already. Let me know if you'd like anything changing in them. Thanks! ------------------------------------------------------------------------ [2008-02-12 09:51:05] jmessa@php.net Here is the entire mbstring section of my php.ini file, I haven't changed it from the default that comes when you download PHP. [mbstring] ; language for internal character representation. ;mbstring.language = Japanese ; internal/script encoding. ; Some encoding cannot work as internal encoding. ; (e.g. SJIS, BIG5, ISO-2022-*) ;mbstring.internal_encoding = EUC-JP ; http input encoding. ;mbstring.http_input = auto ; http output encoding. mb_output_handler must be ; registered as output buffer to function ;mbstring.http_output = SJIS ; enable automatic encoding translation according to ; mbstring.internal_encoding setting. Input chars are ; converted to internal encoding by setting this to On. ; Note: Do _not_ use automatic encoding translation for ; portable libs/applications. ;mbstring.encoding_translation = Off ; automatic encoding detection order. ; auto means ;mbstring.detect_order = auto ; substitute_character used when character cannot be converted ; one from another ;mbstring.substitute_character = none; ; overload(replace) single byte functions by mbstring functions. ; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), ; etc. Possible values are 0,1,2,4 or combination of them. ; For example, 7 for overload everything. ; 0: No overload ; 1: Overload mail() function ; 2: Overload str*() functions ; 4: Overload ereg*() functions ;mbstring.func_overload = 0 Thanks ------------------------------------------------------------------------ [2008-02-10 00:31:11] hirokawa@php.net Could you show me the mbstring related setting (mbstring.*) in your php.ini ? ------------------------------------------------------------------------ [2008-01-30 15:58:56] nicholsr@php.net assigning to maintainer ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/43841 -- Edit this bug report at http://bugs.php.net/?id=43841&edit=1

« previous php.bugs (#122405) next »