wireless: fix blob buf in put_container()
[project/netifd.git] / bridge.c
index 3edfeaa..ce22b75 100644 (file)
--- a/bridge.c
+++ b/bridge.c
@@ -344,7 +344,11 @@ bridge_create_member(struct bridge_state *bst, struct device *dev, bool hotplug)
        strcpy(bm->name, dev->ifname);
        bm->dev.dev = dev;
        vlist_add(&bst->members, &bm->node, bm->name);
-       if (hotplug)
+       // Need to look up the bridge member again as the above
+       // created pointer will be freed in case the bridge member
+       // already existed
+       bm = vlist_find(&bst->members, dev->ifname, bm, node);
+       if (hotplug && bm)
                bm->node.version = -1;
 
        return bm;
@@ -492,7 +496,7 @@ bridge_apply_settings(struct bridge_state *bst, struct blob_attr **tb)
        /* defaults */
        cfg->stp = false;
        cfg->forward_delay = 2;
-       cfg->igmp_snoop = false;
+       cfg->igmp_snoop = true;
        cfg->bridge_empty = false;
        cfg->priority = 0x7FFF;