shared: handle unnamed sockets in socket_address_equal()

Make sure we don't inspect sun_path of unnamed sockets.
Since we cannot know if two unnamed sockets' adresses refer to the same
socket, just return false.

(cherry picked from commit 710708a54c)
This commit is contained in:
Michal Schmidt
2015-03-14 10:20:45 -04:00
committed by Zbigniew Jędrzejewski-Szmek
parent 1d23a6c379
commit 04691e6f81
+4
View File
@@ -349,6 +349,10 @@ bool socket_address_equal(const SocketAddress *a, const SocketAddress *b) {
break;
case AF_UNIX:
if (a->size <= offsetof(struct sockaddr_un, sun_path) ||
b->size <= offsetof(struct sockaddr_un, sun_path))
return false;
if ((a->sockaddr.un.sun_path[0] == 0) != (b->sockaddr.un.sun_path[0] == 0))
return false;