Fix interface ignore overwrite
[oweals/odhcpd.git] / src / config.c
index 46137a48ab3dc926047f985c358c9d877cb36aed..b6b3708acba852a7d41ff3d76f1138726f871cbf 100644 (file)
@@ -302,6 +302,9 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr
        if (ifname)
                strncpy(iface->ifname, ifname, sizeof(iface->ifname) - 1);
 
+       if ((iface->ifindex = if_nametoindex(iface->ifname)) <= 0)
+               return -1;
+
        iface->inuse = true;
 
        if ((c = tb[IFACE_ATTR_DYNAMICDHCP]))
@@ -494,7 +497,6 @@ int config_parse_interface(void *data, size_t len, const char *name, bool overwr
                }
        }
 
-       iface->ignore = (iface->ifindex = if_nametoindex(iface->ifname)) <= 0;
        return 0;
 
 err: