summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2016-11-18 18:00:43 +0000
committerRoy Marples <roy@marples.name>2016-11-18 18:00:43 +0000
commita0a4586b8d5b67078520f2b36c0a341e8b0d06a5 (patch)
treee96da871614d9012b193f35ca6f3ae61700b9147
parent469536a5564ddf5bfd4443774b611208d69831dc (diff)
downloaddhcpcd-a0a4586b8d5b67078520f2b36c0a341e8b0d06a5.tar.xz
Revert prior, it's wrong.
-rw-r--r--route.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/route.c b/route.c
index e627ebf3..3c2416fd 100644
--- a/route.c
+++ b/route.c
@@ -436,11 +436,13 @@ rt_doroute(struct rt *rt)
TAILQ_REMOVE(&ctx->routes, or, rt_next);
rt_free(or);
} else {
- or = rt_find(&ctx->kroutes, rt);
- if ((or == NULL || !rt_cmp(rt, or)) &&
- !(rt->rt_dflags & RTDF_FAKE))
- {
- if (!rt_add(rt, or))
+ if (rt->rt_dflags & RTDF_FAKE) {
+ if ((or = rt_find(&ctx->kroutes, rt)) == NULL)
+ return false;
+ if (!rt_cmp(rt, or))
+ return false;
+ } else {
+ if (!rt_add(rt, NULL))
return false;
}
}