summaryrefslogtreecommitdiffstats
path: root/contrib/wpa_supplicant/config.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2008-03-24 19:46:53 +0000
committersam <sam@FreeBSD.org>2008-03-24 19:46:53 +0000
commit153f9c1cd9a5b749f57e28682fadb39c781e1e5d (patch)
treef77bae77287d18eaa89acc25e38b5acccca132fe /contrib/wpa_supplicant/config.c
parent35aef052ff21baa52c4cec68b512986c21f70a48 (diff)
downloadFreeBSD-src-153f9c1cd9a5b749f57e28682fadb39c781e1e5d.zip
FreeBSD-src-153f9c1cd9a5b749f57e28682fadb39c781e1e5d.tar.gz
Import of WPA supplicant 0.5.10
Diffstat (limited to 'contrib/wpa_supplicant/config.c')
-rw-r--r--contrib/wpa_supplicant/config.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/contrib/wpa_supplicant/config.c b/contrib/wpa_supplicant/config.c
index 171970d..6ea66de 100644
--- a/contrib/wpa_supplicant/config.c
+++ b/contrib/wpa_supplicant/config.c
@@ -66,17 +66,19 @@ static char * wpa_config_parse_string(const char *value, size_t *len)
return os_strdup(value);
} else {
u8 *str;
- size_t hlen = os_strlen(value);
+ size_t tlen, hlen = os_strlen(value);
if (hlen & 1)
return NULL;
- *len = hlen / 2;
- str = os_malloc(*len);
+ tlen = hlen / 2;
+ str = os_malloc(tlen + 1);
if (str == NULL)
return NULL;
- if (hexstr2bin(value, str, *len)) {
+ if (hexstr2bin(value, str, tlen)) {
os_free(str);
return NULL;
}
+ str[tlen] = '\0';
+ *len = tlen;
return (char *) str;
}
}
@@ -1157,7 +1159,8 @@ static const struct parse_data ssid_fields[] = {
{ INT_RANGE(ieee80211w, 0, 2) },
#endif /* CONFIG_IEEE80211W */
{ INT_RANGE(peerkey, 0, 1) },
- { INT_RANGE(mixed_cell, 0, 1) }
+ { INT_RANGE(mixed_cell, 0, 1) },
+ { INT_RANGE(frequency, 0, 10000) }
};
#undef OFFSET
OpenPOWER on IntegriCloud