mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Add new test for array_fill() to cover the case when the parameter count is too large (#11184)
This commit is contained in:
23
ext/standard/tests/array/array_fill_error2.phpt
Normal file
23
ext/standard/tests/array/array_fill_error2.phpt
Normal file
@@ -0,0 +1,23 @@
|
||||
--TEST--
|
||||
Test array_fill() function : error conditions - count is too large
|
||||
--SKIPIF--
|
||||
<?php if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
$intMax = 2147483647;
|
||||
|
||||
// calling array_fill() with 'count' larger than INT_MAX
|
||||
try {
|
||||
$array = array_fill(0, $intMax+1, 1);
|
||||
} catch (\ValueError $e) {
|
||||
echo $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
// calling array_fill() with 'count' equals to INT_MAX
|
||||
$array = array_fill(0, $intMax, 1);
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
array_fill(): Argument #2 ($count) is too large
|
||||
|
||||
Fatal error: Possible integer overflow in memory allocation (%d * %d + %d) in %s on line %d
|
||||
Reference in New Issue
Block a user