Skip to content
Prev Previous commit
Next Next commit
ext/standard: Validate scandir() sorting_order parameter
  • Loading branch information
arshidkv12 committed Feb 11, 2026
commit 6341dd6100d89c5569c5a981ec03a700fcbef89b
42 changes: 42 additions & 0 deletions ext/standard/tests/dir/scandir_invalid_flag.phpt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
--TEST--
scandir() flag validation and behavior
--FILE--
<?php

echo "== Valid flags ==\n";

$valid_flags = [
SCANDIR_SORT_ASCENDING,
SCANDIR_SORT_DESCENDING,
SCANDIR_SORT_NONE,
];

foreach ($valid_flags as $flag) {
$result = scandir(__DIR__, $flag);
echo is_array($result) ? "OK\n" : "FAIL\n";
}

echo "== Invalid flags ==\n";

$invalid_flags = [-1, 3, 999, PHP_INT_MAX];

foreach ($invalid_flags as $flag) {
try {
scandir(__DIR__, $flag);
echo "FAIL\n";
} catch (ValueError $e) {
echo "OK\n";
}
}

?>
--EXPECT--
== Valid flags ==
OK
OK
OK
== Invalid flags ==
OK
OK
OK
OK
Loading