summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-daemon
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-12-26 13:36:07 +0100
committerLennart Poettering <lennart@poettering.net>2017-12-26 13:36:07 +0100
commitdfde7e8c5bd1a7846d9526b63c80d111dbd0c5e7 (patch)
treeb59bb1e6af0febc4121ba9a38534a24b9b7201f8 /src/libsystemd/sd-daemon
parentf6aac5bf1bca20536a2b51bf9bce1d8e8208be86 (diff)
downloadsystemd-dfde7e8c5bd1a7846d9526b63c80d111dbd0c5e7.tar.gz
sd-daemon: use sockaddr_port() helper
Diffstat (limited to 'src/libsystemd/sd-daemon')
-rw-r--r--src/libsystemd/sd-daemon/sd-daemon.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/libsystemd/sd-daemon/sd-daemon.c b/src/libsystemd/sd-daemon/sd-daemon.c
index 64a74929bf..ba383e0b3b 100644
--- a/src/libsystemd/sd-daemon/sd-daemon.c
+++ b/src/libsystemd/sd-daemon/sd-daemon.c
@@ -306,17 +306,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;