summaryrefslogtreecommitdiff
path: root/bridge.c
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2011-10-23 19:20:35 +0200
committerFelix Fietkau <nbd@openwrt.org>2011-10-23 19:20:35 +0200
commite9e3a0dcee387f9d3a51eededd194441fbcf1aed (patch)
treedf04072fd0b557fcd00a1b53f6126f7ee0cf906f /bridge.c
parenta2f762e2e145b7be932f25c8f1de0da2a8009d4f (diff)
downloadnetifd-e9e3a0dcee387f9d3a51eededd194441fbcf1aed.tar.gz
fix handling bridge interfaces with no initial device
Diffstat (limited to 'bridge.c')
-rw-r--r--bridge.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/bridge.c b/bridge.c
index 70ea0f0..54526f7 100644
--- a/bridge.c
+++ b/bridge.c
@@ -330,6 +330,10 @@ bridge_config_init(struct device *dev)
int rem;
bst = container_of(dev, struct bridge_state, dev);
+
+ if (!bst->ifnames)
+ return;
+
blobmsg_for_each_attr(cur, bst->ifnames, rem) {
bridge_add_member(bst, blobmsg_data(cur));
}
@@ -384,9 +388,6 @@ bridge_create(const char *name, struct blob_attr *attr)
blobmsg_parse(bridge_attrs, __BRIDGE_ATTR_MAX, tb_br,
blob_data(attr), blob_len(attr));
- if (!tb_br[BRIDGE_ATTR_IFNAME])
- return NULL;
-
bst = calloc(1, sizeof(*bst));
if (!bst)
return NULL;