rewrite resolv.conf after interface up setting updates
[project/netifd.git] / interface-ip.c
index fa84fc7..f62d670 100644 (file)
@@ -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