diff mbox

[29/44] vlan: create new interface name on stack

Message ID 1456314830-12935-30-git-send-email-michael-dev@fami-braun.de
State Accepted
Headers show

Commit Message

michael-dev Feb. 24, 2016, 11:53 a.m. UTC
From: Michael Braun <michael-dev@fami-braun.de>

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
---
 src/ap/vlan_init.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)
diff mbox

Patch

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;
 }