]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
hostapd: Do not update rejected wep_key_len_broadcast
authorJouni Malinen <j@w1.fi>
Tue, 27 Dec 2016 10:00:26 +0000 (12:00 +0200)
committerJouni Malinen <j@w1.fi>
Tue, 27 Dec 2016 10:02:17 +0000 (12:02 +0200)
Previously, update command with invalid value got rejected, but the
actual configuration data was updated anyway.

Signed-off-by: Jouni Malinen <j@w1.fi>
hostapd/config_file.c

index 34409aef511a8bbb4803fc4028f7f14c3ce5f4f1..dc062ffc73f5026868c2d692866c4cec50a8ca76 100644 (file)
@@ -2294,15 +2294,15 @@ static int hostapd_config_fill(struct hostapd_config *conf,
                os_free(bss->erp_domain);
                bss->erp_domain = os_strdup(pos);
        } else if (os_strcmp(buf, "wep_key_len_broadcast") == 0) {
-               bss->default_wep_key_len = atoi(pos);
-               if (bss->default_wep_key_len > 13) {
-                       wpa_printf(MSG_ERROR, "Line %d: invalid WEP key len %lu (= %lu bits)",
-                                  line,
-                                  (unsigned long) bss->default_wep_key_len,
-                                  (unsigned long)
-                                  bss->default_wep_key_len * 8);
+               int val = atoi(pos);
+
+               if (val < 0 || val > 13) {
+                       wpa_printf(MSG_ERROR,
+                                  "Line %d: invalid WEP key len %d (= %d bits)",
+                                  line, val, val * 8);
                        return 1;
                }
+               bss->default_wep_key_len = val;
        } else if (os_strcmp(buf, "wep_key_len_unicast") == 0) {
                bss->individual_wep_key_len = atoi(pos);
                if (bss->individual_wep_key_len < 0 ||