X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=wireless.c;h=33fab451184d32cd94eaf148e49fec53cdf9af3f;hp=6675d6aad989c614b832db50525ee870d2f5628c;hb=26cb3b2a0aebb1b9dc07daf7b54bd8400d6d659b;hpb=922c169147fc6e4c4ecf94029528192636e917e7 diff --git a/wireless.c b/wireless.c index 6675d6a..33fab45 100644 --- a/wireless.c +++ b/wireless.c @@ -51,9 +51,9 @@ static const struct uci_blob_param_list vif_param = { static void put_container(struct blob_buf *buf, struct blob_attr *attr, const char *name) { - void *c = blobmsg_open_table(&b, name); - blob_put_raw(&b, blob_data(attr), blob_len(attr)); - blobmsg_close_table(&b, c); + void *c = blobmsg_open_table(buf, name); + blob_put_raw(buf, blob_data(attr), blob_len(attr)); + blobmsg_close_table(buf, c); } static void @@ -660,7 +660,7 @@ void wireless_interface_create(struct wireless_device *wdev, struct blob_attr *d struct wireless_interface *vif; struct blob_attr *tb[__VIF_ATTR_MAX]; struct blob_attr *cur; - char *name_buf; + char *name_buf, *section_buf; char name[8]; blobmsg_parse(vif_policy, __VIF_ATTR_MAX, tb, blob_data(data), blob_len(data)); @@ -671,11 +671,13 @@ void wireless_interface_create(struct wireless_device *wdev, struct blob_attr *d sprintf(name, "%d", wdev->vif_idx++); - vif = calloc_a(sizeof(*vif), &name_buf, strlen(name) + 1); + vif = calloc_a(sizeof(*vif), + &name_buf, strlen(name) + 1, + §ion_buf, strlen(section) + 1); vif->name = strcpy(name_buf, name); vif->wdev = wdev; vif->config = data; - vif->section = section; + vif->section = strcpy(section_buf, section); vlist_add(&wdev->interfaces, &vif->node, vif->name); }