]> git.ipfire.org Git - people/ms/dma.git/commitdiff
dma: don't use sockaddr_storage.ss_len
authorSimon Schubert <corecode@dragonflybsd.org>
Sat, 3 Oct 2009 19:35:29 +0000 (21:35 +0200)
committerSimon Schubert <corecode@dragonflybsd.org>
Sat, 3 Oct 2009 20:45:30 +0000 (22:45 +0200)
sockaddr_storage.ss_len is not mandated by POSIX, so we shouldn't use
it.  Instead, use addrinfo.ai_addrlen.

dns.c
net.c

diff --git a/dns.c b/dns.c
index 8cfdd04645cffa27ebfa978e2934ebb6e528a7d1..5a72dfef12b53e171c97fb240c4fd93429c90f7f 100644 (file)
--- a/dns.c
+++ b/dns.c
@@ -97,7 +97,7 @@ add_host(int pref, const char *host, int port, struct mx_hostentry **he, size_t
                p->ai.ai_addr = NULL;
                bcopy(res->ai_addr, &p->sa, p->ai.ai_addrlen);
 
-               getnameinfo((struct sockaddr *)&p->sa, p->sa.ss_len,
+               getnameinfo((struct sockaddr *)&p->sa, p->ai.ai_addrlen,
                            p->addr, sizeof(p->addr),
                            NULL, 0, NI_NUMERICHOST);
 
diff --git a/net.c b/net.c
index 607b992c1e52a9c028b6d923c62b249326d30b89..55d06cf9590a3e968f9d398eca25581c9957a95d 100644 (file)
--- a/net.c
+++ b/net.c
@@ -291,7 +291,7 @@ open_connection(struct mx_hostentry *h)
                return (-1);
        }
 
-       if (connect(fd, (struct sockaddr *)&h->sa, h->sa.ss_len) < 0) {
+       if (connect(fd, (struct sockaddr *)&h->sa, h->ai.ai_addrlen) < 0) {
                syslog(LOG_INFO, "connect to %s [%s] failed: %m",
                       h->host, h->addr);
                close(fd);