X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface-ip.c;h=f62d670deeea0111c5b924dc96e1954d91b2d2bd;hp=fa84fc76ed0a63f13dabb09f8e53fcb20b9932d2;hb=d46bc6515c3362538e298b8b038ae04adcb7db65;hpb=55c7d8f55b6bdb264a52410467a7e8cff3bec3a9 diff --git a/interface-ip.c b/interface-ip.c index fa84fc7..f62d670 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -270,6 +270,7 @@ interface_handle_subnet_route(struct interface *iface, struct device_addr *addr, struct device *dev = iface->l3_dev.dev; struct device_route route; + memset(&route, 0, sizeof(route)); route.iface = iface; route.flags = addr->flags; route.mask = addr->mask; @@ -429,6 +430,9 @@ interface_add_dns_server(struct interface_ip_settings *ip, const char *str) struct dns_server *s; s = calloc(1, sizeof(*s)); + if (!s) + return; + s->af = AF_INET; if (inet_pton(s->af, str, &s->addr.in)) goto add; @@ -613,6 +617,7 @@ interface_ip_update_complete(struct interface_ip_settings *ip) vlist_simple_flush(&ip->dns_search); vlist_flush(&ip->route); vlist_flush(&ip->addr); + interface_write_resolv_conf(); } void