mirror of
https://github.com/php/php-src.git
synced 2026-04-20 22:41:20 +02:00
PHP requires integer typehints to be written "int" and does not allow "integer" as an alias. This changes type error messages to match the actual type name and avoids confusing messages like "must be of the type integer, integer given".
44 lines
1.3 KiB
PHP
44 lines
1.3 KiB
PHP
--TEST--
|
|
strrpos() offset integer overflow
|
|
--SKIPIF--
|
|
<?php if (PHP_INT_SIZE !== 4) die("skip this test is for 32-bit only");
|
|
--FILE--
|
|
<?php
|
|
|
|
var_dump(strrpos("t", "t", PHP_INT_MAX+1));
|
|
var_dump(strrpos("tttt", "tt", PHP_INT_MAX+1));
|
|
var_dump(strrpos(100, 101, PHP_INT_MAX+1));
|
|
var_dump(strrpos(1024, 1024, PHP_INT_MAX+1));
|
|
var_dump(strrpos(1024, 1024, -PHP_INT_MAX));
|
|
var_dump(strrpos(1024, "te", -PHP_INT_MAX));
|
|
var_dump(strrpos(1024, 1024, -PHP_INT_MAX-1));
|
|
var_dump(strrpos(1024, "te", -PHP_INT_MAX-1));
|
|
|
|
echo "Done\n";
|
|
?>
|
|
--EXPECTF--
|
|
Warning: strrpos() expects parameter 3 to be int, float given in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos() expects parameter 3 to be int, float given in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos() expects parameter 3 to be int, float given in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos() expects parameter 3 to be int, float given in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
|
|
bool(false)
|
|
|
|
Warning: strrpos(): Offset is greater than the length of haystack string in %s on line %d
|
|
bool(false)
|
|
Done
|