Bug #74556 [ReO]: stream_socket_get_name returns \0 string instead of false

From: Date: Tue, 19 Dec 2017 23:19:25 +0000
Subject: Bug #74556 [ReO]: stream_socket_get_name returns \0 string instead of false
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-213172@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74556&edit=1 ID: 74556 Updated by: pollita@php.net Reported by: cpuidle at gmx dot de Summary: stream_socket_get_name returns \0 string instead of false Status: Re-Opened Type: Bug Package: Streams related Operating System: macOS PHP Version: 7.1.7 Assigned To: pollita Block user comment: N Private report: N New Comment: No, MacOS returns a single null byte which is nonsensical according to POSIX. Previous Comments: ------------------------------------------------------------------------ [2017-12-19 22:08:49] kelunik@php.net If I got it right then macOS returned multiple NUL-bytes? So that'd not work. ------------------------------------------------------------------------ [2017-12-19 18:02:29] pollita@php.net Hrmmm.... Multiple layered things here. How about: if ((ZSTR_LEN(name) == 0) || ((ZSTR_LEN(name) == 1) && (ZSTR_VAL(name)[0] == 0))) { zend_string_release(name); RETURN_FALSE; } That would return anything using an actual abstract socket path "\0/tmp/foo" but deal with the case where Mac returns "\0" for an unbound name, ------------------------------------------------------------------------ [2017-12-18 00:12:43] kelunik@php.net The provided fix is incomplete / wrong. It breaks sockets using the abstract socket namespace on Linux. https://3v4l.org/RtaV2 ------------------------------------------------------------------------ [2017-10-07 14:41:48] pollita@php.net You're welcome, and for the record: Thank you for the detailed bug report. It was the details which meant it was (initially) fixed in 20 days instead of 200. :) ------------------------------------------------------------------------ [2017-10-07 14:21:58] cpuidle at gmx dot de @kelunik was faster than me and @pollita ever faster at fixing. Much appreciated, thank you :) ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=74556 -- Edit this bug report at https://bugs.php.net/bug.php?id=74556&edit=1

« previous php.bugs (#213172) next »