Merge branch 'PHP-8.2' into PHP-8.3

This commit is contained in:
David Carlier 2024-10-12 15:23:35 +01:00
commit f12e496cba
No known key found for this signature in database
GPG key ID: 8486F847B4B94EF1
3 changed files with 24 additions and 1 deletions

3
NEWS
View file

@ -37,6 +37,9 @@ PHP NEWS
. Fixed bug GH-16385 (Unexpected null returned by session_set_cookie_params).
(nielsdos)
- Sockets:
. Fixed bug with overflow socket_recvfrom $length argument. (David Carlier)
- SPL:
. Fixed bug GH-16337 (Use-after-free in SplHeap). (nielsdos)

View file

@ -1406,7 +1406,8 @@ PHP_FUNCTION(socket_recvfrom)
/* overflow check */
/* Shouldthrow ? */
if ((arg3 + 2) < 3) {
if (arg3 <= 0 || arg3 > ZEND_LONG_MAX - 1) {
RETURN_FALSE;
}

View 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)