noip.c (acl_allows_p): Check that the ACL node address family is right.
[preload-hacks] / noip.c
diff --git a/noip.c b/noip.c
index b10f6bb..0fab12e 100644 (file)
--- a/noip.c
+++ b/noip.c
@@ -597,7 +597,8 @@ static int acl_allows_p(const aclnode *a, const struct sockaddr *sa)
              present_sockaddr(sa, 0, buf, sizeof(buf))); })
   for (; a; a = a->next) {
     D( dump_aclnode(a); )
-    if (sockaddr_in_range_p(sa, &a->minaddr, &a->maxaddr) &&
+    if (a->af == sa->sa_family &&
+       sockaddr_in_range_p(sa, &a->minaddr, &a->maxaddr) &&
        a->minport <= port && port <= a->maxport) {
       D( fprintf(stderr, "noip(%d): aha!  %s\n", pid,
                 a->act ? "ALLOW" : "DENY"); )