summaryrefslogtreecommitdiff
path: root/src/libelogind/sd-daemon/sd-daemon.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-12-26 13:36:07 +0100
committerSven Eden <yamakuzure@gmx.net>2018-05-30 07:49:45 +0200
commitb544a3702d1a090b980219545e2e5d9dae6286a1 (patch)
treedd8c528b99e8a4b435e08b6d73802b12efe7f2fd /src/libelogind/sd-daemon/sd-daemon.c
parent3aee620d4cc4ce7466439f3b46a2aed4b2f2055b (diff)
sd-daemon: use sockaddr_port() helper
Diffstat (limited to 'src/libelogind/sd-daemon/sd-daemon.c')
-rw-r--r--src/libelogind/sd-daemon/sd-daemon.c14
1 files changed, 5 insertions, 9 deletions
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;