diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-12-26 13:36:07 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2017-12-26 13:36:07 +0100 |
commit | dfde7e8c5bd1a7846d9526b63c80d111dbd0c5e7 (patch) | |
tree | b59bb1e6af0febc4121ba9a38534a24b9b7201f8 /src/libsystemd/sd-daemon | |
parent | f6aac5bf1bca20536a2b51bf9bce1d8e8208be86 (diff) | |
download | systemd-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.c | 14 |
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; |