mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
Fixed bug #65947 (basename is no more working after fgetcsv in certain situation)
previous codes: "#define php_mblen(ptr, len) ((ptr) == NULL ? mbsinit(&BG(mblen_state)): (int)mbrlen(ptr, len, &BG(mblen_state)))# it use mbsinit there, seems try to initialize the mblen_state, but: "This function does not change the state identified by ps. Typical ways to make the state pointed by ps an initial state are: memset (ps,0,sizeof(*ps)); // ps points to zero-valued object " http://www.cplusplus.com/reference/cwchar/mbsinit/?kw=mbsinit
This commit is contained in:
parent
fd3fa9b53c
commit
cf2626f10c
3 changed files with 22 additions and 1 deletions
4
NEWS
4
NEWS
|
@ -2,6 +2,10 @@ PHP NEWS
|
||||||
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||
?? ??? 2013, PHP 5.4.23
|
?? ??? 2013, PHP 5.4.23
|
||||||
|
|
||||||
|
- Core:
|
||||||
|
. Fixed bug #65947 (basename is no more working after fgetcsv in certain
|
||||||
|
situation). (Laruence)
|
||||||
|
|
||||||
- MySQLi:
|
- MySQLi:
|
||||||
. Fixed bug #66043 (Segfault calling bind_param() on mysqli). (Laruence)
|
. Fixed bug #66043 (Segfault calling bind_param() on mysqli). (Laruence)
|
||||||
|
|
||||||
|
|
|
@ -156,7 +156,7 @@ PHPAPI char *php_strerror(int errnum);
|
||||||
# define php_mblen(ptr, len) 1
|
# define php_mblen(ptr, len) 1
|
||||||
#else
|
#else
|
||||||
# if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
|
# if defined(_REENTRANT) && defined(HAVE_MBRLEN) && defined(HAVE_MBSTATE_T)
|
||||||
# define php_mblen(ptr, len) ((ptr) == NULL ? mbsinit(&BG(mblen_state)): (int)mbrlen(ptr, len, &BG(mblen_state)))
|
# define php_mblen(ptr, len) ((ptr) == NULL ? memset(&BG(mblen_state), 0, sizeof(BG(mblen_state))): (int)mbrlen(ptr, len, &BG(mblen_state)))
|
||||||
# else
|
# else
|
||||||
# define php_mblen(ptr, len) mblen(ptr, len)
|
# define php_mblen(ptr, len) mblen(ptr, len)
|
||||||
# endif
|
# endif
|
||||||
|
|
17
ext/standard/tests/strings/bug65947.phpt
Normal file
17
ext/standard/tests/strings/bug65947.phpt
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #65947 (basename is no more working after fgetcsv in certain situation)
|
||||||
|
--SKIPIF--
|
||||||
|
<?php if (!PHP_ZTS) { print "skip only for zts build"; }
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
$filename = 'test.toto';
|
||||||
|
// é in ISO-8859-1
|
||||||
|
$csv = base64_decode('6Q==');
|
||||||
|
$adata = str_getcsv($csv,";");
|
||||||
|
$b2 = basename($filename);
|
||||||
|
if ($filename != $b2)
|
||||||
|
print "BUG";
|
||||||
|
else
|
||||||
|
print "OKEY";
|
||||||
|
--EXPECTF--
|
||||||
|
OKEY
|
Loading…
Add table
Add a link
Reference in a new issue