mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Merge branch 'PHP-8.5'
* PHP-8.5: Fix GH-21161: socket_set_option() crash with array 'addr' entry as null.
This commit is contained in:
@@ -611,7 +611,7 @@ static void from_zval_write_sin6_addr(const zval *zaddr_str, char *addr6, ser_co
|
||||
} else {
|
||||
/* error already emitted, but let's emit another more relevant */
|
||||
do_from_zval_err(ctx, "could not resolve address '%s' to get an AF_INET6 "
|
||||
"address", Z_STRVAL_P(zaddr_str));
|
||||
"address", ZSTR_VAL(addr_str));
|
||||
}
|
||||
|
||||
zend_tmp_string_release(tmp_addr_str);
|
||||
|
||||
19
ext/sockets/tests/gh21161.phpt
Normal file
19
ext/sockets/tests/gh21161.phpt
Normal file
@@ -0,0 +1,19 @@
|
||||
--TEST--
|
||||
GH-21161 (IPV6_PKTINFO socket option crash with null addr array entry)
|
||||
--EXTENSIONS--
|
||||
sockets
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (substr(PHP_OS, 0, 3) == 'WIN') {
|
||||
die('skip.. Not valid for Windows');
|
||||
}
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$sock = socket_create(AF_INET6, SOCK_DGRAM, 0);
|
||||
socket_set_option($sock, IPPROTO_IPV6, IPV6_PKTINFO, ['addr' => null, 'ifindex' => 0]);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: socket_set_option(): Host lookup failed [%i]: %s on line %d
|
||||
|
||||
Warning: socket_set_option(): error converting user data (path: in6_pktinfo > addr): could not resolve address '' to get an AF_INET6 address in %s on line %d
|
||||
Reference in New Issue
Block a user