X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface-ip.c;fp=interface-ip.c;h=1c84d4f8afed8bbe8af9fcc868fb1472b048019d;hp=4a3e2c059845980356c803fc2f3da1d1ec5470b1;hb=9c8d7816fc5e966b0c0efab9c1234734e0c5c254;hpb=69aeaabcfb62d1821275cd0c076ef557c6814c51 diff --git a/interface-ip.c b/interface-ip.c index 4a3e2c0..1c84d4f 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -245,7 +245,7 @@ interface_ip_add_target_route(union if_addr *addr, bool v6, struct interface *if if (iface) { /* look for locally addressable target first */ if (interface_ip_find_addr_target(iface, addr, v6)) - goto done; + return iface; /* do not stop at the first route, let the lookup compare * masks to find the best match */ @@ -254,7 +254,7 @@ interface_ip_add_target_route(union if_addr *addr, bool v6, struct interface *if vlist_for_each_element(&interfaces, iface, node) { /* look for locally addressable target first */ if (interface_ip_find_addr_target(iface, addr, v6)) - goto done; + return iface; /* do not stop at the first route, let the lookup compare * masks to find the best match */ @@ -262,7 +262,6 @@ interface_ip_add_target_route(union if_addr *addr, bool v6, struct interface *if } } -done: if (!r_next) { free(route); return NULL;