From: Lennart Poettering Date: Tue, 26 Dec 2017 12:36:07 +0000 (+0100) Subject: sd-daemon: use sockaddr_port() helper X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b544a3702d1a090b980219545e2e5d9dae6286a1;p=elogind.git sd-daemon: use sockaddr_port() helper --- diff --git a/src/libelogind/sd-daemon/sd-daemon.c b/src/libelogind/sd-daemon/sd-daemon.c index 7aad70bc6..3e4c19cf5 100644 --- a/src/libelogind/sd-daemon/sd-daemon.c +++ b/src/libelogind/sd-daemon/sd-daemon.c @@ -309,17 +309,13 @@ _public_ int sd_is_socket_inet(int fd, int family, int type, int listening, uint return 0; if (port > 0) { - if (sockaddr.sa.sa_family == AF_INET) { - if (l < sizeof(struct sockaddr_in)) - return -EINVAL; + unsigned sa_port; - return htobe16(port) == sockaddr.in.sin_port; - } else { - if (l < sizeof(struct sockaddr_in6)) - return -EINVAL; + r = sockaddr_port(&sockaddr.sa, &sa_port); + if (r < 0) + return r; - return htobe16(port) == sockaddr.in6.sin6_port; - } + return port == sa_port; } return 1;