From: Michael Braun <michael-dev@xxxxxxxxxxxxx> Signed-off-by: Michael Braun <michael-dev@xxxxxxxxxxxxx> --- 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 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap