Skip to content

Commit

Permalink
Add new test for array_fill() to cover the case when the parameter co…
Browse files Browse the repository at this point in the history
…unt is too large
  • Loading branch information
jquiaios committed May 3, 2023
1 parent f6c0c60 commit 9fcde7a
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions ext/standard/tests/array/array_fill_error2.phpt
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 9fcde7a

Please sign in to comment.