]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
resolve: make manager_find_ifindex() or friends return earlier
authorYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 17 Feb 2021 17:50:50 +0000 (02:50 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 17 Feb 2021 18:48:07 +0000 (03:48 +0900)
src/resolve/resolved-link.c
src/resolve/resolved-manager.c

index d9192d99f6554746d68a1365a9833822fdea77d0..18dc3d29e9c2cad8ad0c1d0dd604819e397c911b 100644 (file)
@@ -697,6 +697,12 @@ LinkAddress *link_find_address(Link *l, int family, const union in_addr_union *i
 
         assert(l);
 
+        if (!IN_SET(family, AF_INET, AF_INET6))
+                return NULL;
+
+        if (!in_addr)
+                return NULL;
+
         LIST_FOREACH(addresses, a, l->addresses)
                 if (a->family == family && in_addr_equal(family, &a->in_addr, in_addr))
                         return a;
index a2a2cf495472c525830593b4efe6e1e2d5f46d12..6cc3a5d56f737c8e34815a0a41d155150dcd528a 100644 (file)
@@ -1153,6 +1153,12 @@ int manager_find_ifindex(Manager *m, int family, const union in_addr_union *in_a
 
         assert(m);
 
+        if (!IN_SET(family, AF_INET, AF_INET6))
+                return 0;
+
+        if (!in_addr)
+                return 0;
+
         a = manager_find_link_address(m, family, in_addr);
         if (a)
                 return a->link->ifindex;
@@ -1248,6 +1254,12 @@ LinkAddress* manager_find_link_address(Manager *m, int family, const union in_ad
 
         assert(m);
 
+        if (!IN_SET(family, AF_INET, AF_INET6))
+                return NULL;
+
+        if (!in_addr)
+                return NULL;
+
         HASHMAP_FOREACH(l, m->links) {
                 LinkAddress *a;