mirror of
https://github.com/php/php-src.git
synced 2026-03-29 11:42:17 +02:00
Bugfix #74556 stream_socket_get_name() returns empty string
The original bug report had it returning '\0',
but with a fix to abstract name handling (6d2d0bbda7)
it now actually returns ''.
Neither of these are good, as per unix(7)
an empty socket name indicates an unbound name
and "should not be inspected".
This commit is contained in:
4
NEWS
4
NEWS
@@ -5,6 +5,7 @@ PHP NEWS
|
||||
- Core:
|
||||
. Fixed bug #74658 (Undefined constants in array properties result in broken
|
||||
properties). (Laruence)
|
||||
. Fixed misparsing of abstract unix domain socket names. (Sara)
|
||||
|
||||
- Opcache:
|
||||
. Fixed bug #74663 (Segfault with opcache.memory_protect and
|
||||
@@ -17,6 +18,9 @@ PHP NEWS
|
||||
- FTP:
|
||||
. Fixed bug #74598 (ftp:// wrapper ignores context arg). (Sara)
|
||||
|
||||
- Streams:
|
||||
. Fixed bug #74556 (stream_socket_get_name() returns '\0'). (Sara)
|
||||
|
||||
8 Jun 2017 PHP 7.0.20
|
||||
|
||||
- Core:
|
||||
|
||||
@@ -314,6 +314,11 @@ PHP_FUNCTION(stream_socket_get_name)
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
if (!ZSTR_LEN(name)) {
|
||||
zend_string_release(name);
|
||||
RETURN_FALSE;
|
||||
}
|
||||
|
||||
RETVAL_STR(name);
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
22
ext/standard/tests/streams/bug74556.phpt
Normal file
22
ext/standard/tests/streams/bug74556.phpt
Normal file
@@ -0,0 +1,22 @@
|
||||
--TEST--
|
||||
Bug #74556 stream_socket_get_name() on unix socket returns "\0"
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!strncasecmp(PHP_OS, 'WIN', 3)) echo "skip Unix Only";
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$sock = __DIR__ . '/bug74556.sock';
|
||||
$s = stream_socket_server("unix://$sock");
|
||||
$c = stream_socket_client("unix://$sock");
|
||||
|
||||
var_dump(
|
||||
stream_socket_get_name($s, true),
|
||||
stream_socket_get_name($c, false)
|
||||
);
|
||||
--CLEAN--
|
||||
<?php
|
||||
unlink(__DIR__ . '/bug74556.sock');
|
||||
--EXPECT--
|
||||
bool(false)
|
||||
bool(false)
|
||||
Reference in New Issue
Block a user