com php-src: Fix bug #64330: NEWS ext/standard/tests/network/bug64330.phpt main/streams/xp_socket.c

From: Date: Wed, 02 Apr 2014 09:09:26 +0000
Subject: com php-src: Fix bug #64330: NEWS ext/standard/tests/network/bug64330.phpt main/streams/xp_socket.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-76677@lists.php.net to get a copy of this message
Commit: 91a9d24aa30507e6c7d8937db2de24394f0ce121 Author: Michael Wallner <mike@php.net> Wed, 2 Apr 2014 11:09:26 +0200 Parents: f244513fc059a9b7ee2b91ad65f1a2f013b5d588 Branches: PHP-5.4 PHP-5.5 PHP-5.6 master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=91a9d24aa30507e6c7d8937db2de24394f0ce121 Log: Fix bug #64330 stream_socket_server() creates wrong Abstract Namespace UNIX sockets Bugs: https://bugs.php.net/64330 Changed paths: M NEWS A ext/standard/tests/network/bug64330.phpt M main/streams/xp_socket.c Diff: diff --git a/NEWS b/NEWS index be9cf23..51ed4f3 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,11 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2014, PHP 5.4.28 + +- Core: + . Fixed bug #64330 (stream_socket_server() creates wrong Abstract Namespace + UNIX sockets). (Mike) + - Embed: . Fixed bug #65715 (php5embed.lib isn't provided anymore). (Anatol) diff --git a/ext/standard/tests/network/bug64330.phpt b/ext/standard/tests/network/bug64330.phpt new file mode 100644 index 0000000..1ea305c --- /dev/null +++ b/ext/standard/tests/network/bug64330.phpt @@ -0,0 +1,20 @@ +--TEST-- +Bug #64330 (stream_socket_server() creates wrong Abstract Namespace UNIX sockets) +--SKIPIF-- +<?php +if (!in_array("unix", stream_get_transports())) die("SKIP unix domain sockets unavailable"); +?> +--FILE-- +<?php +echo "Test\n"; +$server = stream_socket_server("unix://\x00/MyBindName"); +$client = stream_socket_client("unix://\x00/MyBindName"); +if ($client) { + echo "ok\n"; +} +?> +===DONE=== +--EXPECT-- +Test +ok +===DONE=== diff --git a/main/streams/xp_socket.c b/main/streams/xp_socket.c index 2c7ca8d..53f0769 100644 --- a/main/streams/xp_socket.c +++ b/main/streams/xp_socket.c @@ -588,7 +588,8 @@ static inline int php_tcp_sockop_bind(php_stream *stream, php_netstream_data_t * parse_unix_address(xparam, &unix_addr TSRMLS_CC); - return bind(sock->socket, (struct sockaddr *)&unix_addr, sizeof(unix_addr)); + return bind(sock->socket, (const struct sockaddr *)&unix_addr, + (socklen_t) XtOffsetOf(struct sockaddr_un, sun_path) + xparam->inputs.namelen); } #endif

« previous php.cvs (#76677) next »