Skip to content

Commit 083bbf5

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Fix length inconsistency in mb_convert_encoding
2 parents bc32cce + 5589bf4 commit 083bbf5

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

ext/mbstring/mbstring.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2852,7 +2852,7 @@ PHP_FUNCTION(mb_convert_encoding)
28522852

28532853
if ( _from_encodings) {
28542854
l = strlen(_from_encodings);
2855-
n = strlen(ZSTR_VAL(encoding_str));
2855+
n = ZSTR_LEN(encoding_str);
28562856
_from_encodings = erealloc(_from_encodings, l+n+2);
28572857
memcpy(_from_encodings + l, ",", 1);
28582858
memcpy(_from_encodings + l + 1, ZSTR_VAL(encoding_str), ZSTR_LEN(encoding_str) + 1);

ext/mbstring/tests/bug79149.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ if (!extension_loaded('mbstring')) die('skip mbstring extension not available');
88
<?php
99
var_dump(mb_convert_encoding("", "UTF-8", [0]));
1010
var_dump(mb_convert_encoding('foo', 'UTF-8', array(['bar'], ['baz'])));
11+
var_dump(mb_convert_encoding('foo', 'UTF-8', array("foo\0bar")));
1112
?>
1213
--EXPECTF--
1314
Warning: mb_convert_encoding(): Illegal character encoding specified in %s on line %d
@@ -19,3 +20,6 @@ Warning: Array to string conversion in %s on line %d
1920

2021
Warning: mb_convert_encoding(): Illegal character encoding specified in %s on line %d
2122
string(3) "foo"
23+
24+
Warning: mb_convert_encoding(): Illegal character encoding specified in %s on line %d
25+
string(3) "foo"

0 commit comments

Comments
 (0)