[PATCH 29/44] vlan: create new interface name on stack
michael-dev at fami-braun.de
michael-dev at fami-braun.de
Wed Feb 24 03:53:35 PST 2016
From: Michael Braun <michael-dev at fami-braun.de>
Signed-off-by: Michael Braun <michael-dev at fami-braun.de>
---
src/ap/vlan_init.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/ap/vlan_init.c b/src/ap/vlan_init.c
index cd37db5..d52d2c4 100644
--- a/src/ap/vlan_init.c
+++ b/src/ap/vlan_init.c
@@ -869,24 +869,22 @@ struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
struct vlan_description *vlan_desc)
{
struct hostapd_vlan *n = NULL;
- char *ifname, *pos;
+ char ifname[IFNAMSIZ+1], *pos;
if (vlan == NULL || vlan->vlan_id != VLAN_ID_WILDCARD)
return NULL;
wpa_printf(MSG_DEBUG, "VLAN: %s(vlan_id=%d ifname=%s)",
__func__, vlan_id, vlan->ifname);
- ifname = os_strdup(vlan->ifname);
- if (ifname == NULL)
- return NULL;
+ os_strlcpy(ifname, vlan->ifname, sizeof(ifname));
pos = os_strchr(ifname, '#');
if (pos == NULL)
- goto free_ifname;
+ goto out;
*pos++ = '\0';
n = os_zalloc(sizeof(*n));
if (n == NULL)
- goto free_ifname;
+ goto out;
n->vlan_id = vlan_id;
if (vlan_desc)
@@ -904,11 +902,9 @@ struct hostapd_vlan * vlan_add_dynamic(struct hostapd_data *hapd,
hapd->conf->vlan = n->next;
os_free(n);
n = NULL;
- goto free_ifname;
}
-free_ifname:
- os_free(ifname);
+out:
return n;
}
--
1.9.1
More information about the Hostap
mailing list