php-src/ext/mbstring/tests/bug79149.phpt
George Peter Banyard fa3b8c75fb Promote unknown encoding throws in encoding array/string list
For the string list we emit still emit a warning by comparing arg_num to 0

Closes GH-5337
2020-04-03 10:58:46 +02:00

32 lines
905 B
PHP

--TEST--
Bug #79149 (SEGV in mb_convert_encoding with non-string encodings)
--SKIPIF--
<?php
if (!extension_loaded('mbstring')) die('skip mbstring extension not available');
?>
--FILE--
<?php
try {
var_dump(mb_convert_encoding("", "UTF-8", [0]));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_convert_encoding('foo', 'UTF-8', array(['bar'], ['baz'])));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
try {
var_dump(mb_convert_encoding('foo', 'UTF-8', array("foo\0bar")));
} catch (\ValueError $e) {
echo $e->getMessage() . \PHP_EOL;
}
?>
--EXPECTF--
mb_convert_encoding(): Argument #3 ($from) contains invalid encoding "0"
Warning: Array to string conversion in %s on line %d
mb_convert_encoding(): Argument #3 ($from) contains invalid encoding "Array"
mb_convert_encoding(): Argument #3 ($from) contains invalid encoding "foo"