Mercurial > hg > dhcpcd
changeset 4537:37f793c7948e draft
Merge branch 'master' into memstream
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Tue, 18 Jun 2019 17:37:04 +0100 |
| parents | f2ddefe6c69e (current diff) ce9e8fb0e6a3 (diff) |
| children | 8e383f84ebd0 |
| files | src/dhcp.c |
| diffstat | 1 files changed, 3 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/dhcp.c Tue Jun 18 11:33:53 2019 +0100 +++ b/src/dhcp.c Tue Jun 18 17:37:04 2019 +0100 @@ -639,9 +639,7 @@ sa_in_init(&rt->rt_dest, &dest); sa_in_init(&rt->rt_netmask, &netmask); sa_in_init(&rt->rt_gateway, &gateway); - if (rb_tree_insert_node(routes, rt) != rt) - rt_free(rt); - else + if (rt_proto_add(routes, rt)) n++; } } @@ -651,7 +649,7 @@ p = get_option(ifp->ctx, bootp, bootp_len, DHO_ROUTER, &len); else p = NULL; - if (p) { + if (p && len % 4 == 0) { e = p + len; dest.s_addr = INADDR_ANY; netmask.s_addr = INADDR_ANY; @@ -663,9 +661,7 @@ sa_in_init(&rt->rt_dest, &dest); sa_in_init(&rt->rt_netmask, &netmask); sa_in_init(&rt->rt_gateway, &gateway); - if (rb_tree_insert_node(routes, rt) != rt) - rt_free(rt); - else + if (rt_proto_add(routes, rt)) n++; } }
