]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
Fix rt_find on linux
authorRoy Marples <roy@marples.name>
Tue, 8 Nov 2016 20:57:26 +0000 (20:57 +0000)
committerRoy Marples <roy@marples.name>
Tue, 8 Nov 2016 20:57:26 +0000 (20:57 +0000)
route.c

diff --git a/route.c b/route.c
index 2e2f8dba84386b08d9426a0d557978a14ab9d80e..1ad29afe6684f41c1d262f55f2fa492329ef01ed 100644 (file)
--- a/route.c
+++ b/route.c
@@ -202,7 +202,8 @@ rt_find(struct rt_head *rts, const struct rt *f)
        TAILQ_FOREACH(rt, rts, rt_next) {
                if (sa_cmp(&rt->rt_dest, &f->rt_dest) == 0 &&
 #ifdef HAVE_ROUTE_METRIC
-                   rt->rt_ifp->metric == f->rt_ifp->metric &&
+                   (f->rt_ifp == NULL ||
+                   rt->rt_ifp->metric == f->rt_ifp->metric) &&
 #endif
                    sa_cmp(&rt->rt_netmask, &f->rt_netmask) == 0)
                        return rt;