]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
AP: Warn about VLAN interface name truncations
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Wed, 22 Aug 2018 17:47:32 +0000 (20:47 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 16 Oct 2018 09:56:04 +0000 (12:56 +0300)
Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
src/ap/vlan_init.c

index 31e4fc6b396a14de5b3bd1f7f4cc6e5eedcb8bcf..01fecee026a11b90bba17c29b431766f6ec28760 100644 (file)
@@ -138,6 +138,8 @@ int vlan_init(struct hostapd_data *hapd)
            !hapd->conf->vlan) {
                /* dynamic vlans enabled but no (or empty) vlan_file given */
                struct hostapd_vlan *vlan;
+               int ret;
+
                vlan = os_zalloc(sizeof(*vlan));
                if (vlan == NULL) {
                        wpa_printf(MSG_ERROR, "Out of memory while assigning "
@@ -146,8 +148,16 @@ int vlan_init(struct hostapd_data *hapd)
                }
 
                vlan->vlan_id = VLAN_ID_WILDCARD;
-               os_snprintf(vlan->ifname, sizeof(vlan->ifname), "%s.#",
-                           hapd->conf->iface);
+               ret = os_snprintf(vlan->ifname, sizeof(vlan->ifname), "%s.#",
+                                 hapd->conf->iface);
+               if (ret >= (int) sizeof(vlan->ifname)) {
+                       wpa_printf(MSG_WARNING,
+                                  "VLAN: Interface name was truncated to %s",
+                                  vlan->ifname);
+               } else if (ret < 0) {
+                       os_free(vlan);
+                       return ret;
+               }
                vlan->next = hapd->conf->vlan;
                hapd->conf->vlan = vlan;
        }