]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Add WPS_DEV_NAME_MAX_LEN define and use it when comparing length
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 7 Apr 2015 09:04:58 +0000 (12:04 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 22 Apr 2015 08:44:18 +0000 (11:44 +0300)
This make code easier to understand.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
hostapd/config_file.c
src/p2p/p2p.h
src/p2p/p2p_i.h
src/p2p/p2p_parse.c
src/wps/wps_defs.h
wpa_supplicant/config.c

index 82b08f92ac8af60a36ec646f8687b7b5d0700515..f4cccf562e1a35fc92a0fd2b39074a56ee55faba 100644 (file)
@@ -2837,7 +2837,7 @@ static int hostapd_config_fill(struct hostapd_config *conf,
                os_free(bss->wps_pin_requests);
                bss->wps_pin_requests = os_strdup(pos);
        } else if (os_strcmp(buf, "device_name") == 0) {
-               if (os_strlen(pos) > 32) {
+               if (os_strlen(pos) > WPS_DEV_NAME_MAX_LEN) {
                        wpa_printf(MSG_ERROR, "Line %d: Too long "
                                   "device_name", line);
                        return 1;
index 2e5c3dc754d67d5b37a949c1b6f63aa772526810..889902b5241a99f284f3e4a48c398384e241bb28 100644 (file)
@@ -268,7 +268,7 @@ struct p2p_peer_info {
        /**
         * device_name - Device Name (0..32 octets encoded in UTF-8)
         */
-       char device_name[33];
+       char device_name[WPS_DEV_NAME_MAX_LEN + 1];
 
        /**
         * manufacturer - Manufacturer (0..64 octets encoded in UTF-8)
index 6af19ceda450ebe09062c203cf880ab14d7f7009..6fed932f90b2324d6603e108c0ba28ea20873275 100644 (file)
@@ -578,7 +578,7 @@ struct p2p_message {
        const u8 *p2p_device_addr;
        const u8 *pri_dev_type;
        u8 num_sec_dev_types;
-       char device_name[33];
+       char device_name[WPS_DEV_NAME_MAX_LEN + 1];
        u16 config_methods;
 
        /* WPS IE */
index 4613414c7c9bbd8a046f6c9056f08fe36f709d2b..b8c157b1ebe510069c62cd861615756648567465 100644 (file)
@@ -149,7 +149,8 @@ static int p2p_parse_attribute(u8 id, const u8 *data, u16 len,
                pos += 2;
                nlen = WPA_GET_BE16(pos);
                pos += 2;
-               if (data + len - pos < (int) nlen || nlen > 32) {
+               if (data + len - pos < (int) nlen ||
+                   nlen > WPS_DEV_NAME_MAX_LEN) {
                        wpa_printf(MSG_DEBUG, "P2P: Invalid Device Name "
                                   "length %d (buf len %d)", (int) nlen,
                                   (int) (data + len - pos));
@@ -674,8 +675,8 @@ int p2p_group_info_parse(const u8 *gi, size_t gi_len,
                t += 2;
                if (count > cend - t)
                        return -1; /* invalid Device Name TLV */
-               if (count >= 32)
-                       count = 32;
+               if (count >= WPS_DEV_NAME_MAX_LEN)
+                       count = WPS_DEV_NAME_MAX_LEN;
                cli->dev_name = (const char *) t;
                cli->dev_name_len = count;
 
@@ -703,7 +704,7 @@ static int p2p_group_info_text(const u8 *gi, size_t gi_len, char *buf,
 
        for (i = 0; i < info.num_clients; i++) {
                struct p2p_client_info *cli;
-               char name[33];
+               char name[WPS_DEV_NAME_MAX_LEN + 1];
                char devtype[WPS_DEV_TYPE_BUFSIZE];
                u8 s;
                int count;
index 25cd14a0b32a0311cacb7ce6609560552403280b..5a09063322e120cd7961c2544f98405c83ca09be 100644 (file)
@@ -41,6 +41,7 @@ extern int wps_corrupt_pkhash;
 #define WPS_OOB_DEVICE_PASSWORD_MIN_LEN 16
 #define WPS_OOB_DEVICE_PASSWORD_LEN 32
 #define WPS_OOB_PUBKEY_HASH_LEN 20
+#define WPS_DEV_NAME_MAX_LEN 32
 
 /* Attribute Types */
 enum wps_attribute {
index fb539cc95042b1ce42bb09dc7ac371f6bbcdf629..cf16174312bdd68a55daae29e6c4ab4a1ac26fbd 100644 (file)
@@ -4141,7 +4141,8 @@ static const struct global_parse_data global_fields[] = {
        { FUNC_NO_VAR(load_dynamic_eap), 0 },
 #ifdef CONFIG_WPS
        { FUNC(uuid), CFG_CHANGED_UUID },
-       { STR_RANGE(device_name, 0, 32), CFG_CHANGED_DEVICE_NAME },
+       { STR_RANGE(device_name, 0, WPS_DEV_NAME_MAX_LEN),
+         CFG_CHANGED_DEVICE_NAME },
        { STR_RANGE(manufacturer, 0, 64), CFG_CHANGED_WPS_STRING },
        { STR_RANGE(model_name, 0, 32), CFG_CHANGED_WPS_STRING },
        { STR_RANGE(model_number, 0, 32), CFG_CHANGED_WPS_STRING },