]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
sd-daemon: use sockaddr_port() helper
authorLennart Poettering <lennart@poettering.net>
Tue, 26 Dec 2017 12:36:07 +0000 (13:36 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 26 Dec 2017 12:36:07 +0000 (13:36 +0100)
src/libsystemd/sd-daemon/sd-daemon.c

index 64a74929bfacb1d7f455a2a1e9eddd49692267ae..ba383e0b3b04fbd78238b8ca2a0f8ba110173e8b 100644 (file)
@@ -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;