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
35c8a010c6
2 changed files with 21 additions and 1 deletions
|
@ -1452,7 +1452,8 @@ PHP_FUNCTION(socket_recvfrom)
|
|||
|
||||
/* overflow check */
|
||||
/* Shouldthrow ? */
|
||||
if ((arg3 + 2) < 3) {
|
||||
|
||||
if (arg3 <= 0 || arg3 > ZEND_LONG_MAX - 1) {
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
|
|
19
ext/sockets/tests/socket_recv_overflow.phpt
Normal file
19
ext/sockets/tests/socket_recv_overflow.phpt
Normal file
|
@ -0,0 +1,19 @@
|
|||
--TEST--
|
||||
socket_recvfrom overflow on length argument
|
||||
--EXTENSIONS--
|
||||
sockets
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (strtolower(substr(PHP_OS, 0, 3)) === 'win') {
|
||||
die('skip not valid for Windows.');
|
||||
}
|
||||
--FILE--
|
||||
<?php
|
||||
$s = socket_create(AF_UNIX, SOCK_DGRAM, 0);
|
||||
$buf = $end = "";
|
||||
var_dump(socket_recvfrom($s, $buf, PHP_INT_MAX, 0, $end));
|
||||
var_dump(socket_recvfrom($s, $buf, -1, 0, $end));
|
||||
?>
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
bool(false)
|
Loading…
Add table
Add a link
Reference in a new issue