relayd: put rule requests on stack
[project/relayd.git] / main.c
diff --git a/main.c b/main.c
index bd330ee..b3c13f7 100644 (file)
--- a/main.c
+++ b/main.c
@@ -653,6 +653,11 @@ static struct relayd_interface *alloc_interface(const char *ifname, bool managed
        if (strlen(ifname) >= IFNAMSIZ)
                return NULL;
 
+       list_for_each_entry(rif, &interfaces, list) {
+               if (!strncmp(rif->ifname, ifname, IFNAMSIZ))
+                       return rif;
+       }
+
        rif = calloc(1, sizeof(*rif));
        if (!rif)
                return NULL;