fix device_lock/device_unlock imbalance in the hotplug device handling
[project/netifd.git] / interface-ip.c
index b097c1f..0610ffd 100644 (file)
@@ -238,8 +238,10 @@ interface_ip_add_route(struct interface *iface, struct blob_attr *attr, bool v6)
                route->flags |= DEVROUTE_METRIC;
        }
 
-       if ((cur = tb[ROUTE_MTU]) != NULL)
+       if ((cur = tb[ROUTE_MTU]) != NULL) {
                route->mtu = blobmsg_get_u32(cur);
+               route->flags |= DEVROUTE_MTU;
+       }
 
        vlist_add(&ip->route, &route->node, &route->flags);
        return;
@@ -268,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;