mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Merge branch 'PHP-8.4'
This commit is contained in:
commit
828a21792c
2 changed files with 27 additions and 0 deletions
|
@ -1248,6 +1248,11 @@ PHP_FUNCTION(socket_strerror)
|
|||
Z_PARAM_LONG(arg1)
|
||||
ZEND_PARSE_PARAMETERS_END();
|
||||
|
||||
if (ZEND_LONG_EXCEEDS_INT(arg1)) {
|
||||
zend_argument_value_error(1, "must be between %d and %d", INT_MIN, INT_MAX);
|
||||
RETURN_THROWS();
|
||||
}
|
||||
|
||||
RETURN_STRING(sockets_strerror(arg1));
|
||||
}
|
||||
/* }}} */
|
||||
|
|
22
ext/sockets/tests/gh16267.phpt
Normal file
22
ext/sockets/tests/gh16267.phpt
Normal file
|
@ -0,0 +1,22 @@
|
|||
--TEST--
|
||||
GH-16267 - overflow on socket_strerror argument
|
||||
--EXTENSIONS--
|
||||
sockets
|
||||
--SKIPIF--
|
||||
<?php if (PHP_INT_SIZE != 8) die('skip 64-bit only'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
try {
|
||||
socket_strerror(PHP_INT_MIN);
|
||||
} catch (\ValueError $e) {
|
||||
echo $e->getMessage() . PHP_EOL;
|
||||
}
|
||||
try {
|
||||
socket_strerror(PHP_INT_MAX);
|
||||
} catch (\ValueError $e) {
|
||||
echo $e->getMessage() . PHP_EOL;
|
||||
}
|
||||
?>
|
||||
--EXPECTF--
|
||||
socket_strerror(): Argument #1 ($error_code) must be between %s and %s
|
||||
socket_strerror(): Argument #1 ($error_code) must be between %s and %s
|
Loading…
Add table
Add a link
Reference in a new issue