summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaurav Babu <saurav.babu@samsung.com>2018-05-23 11:50:59 (GMT)
committerSaurav Babu <saurav.babu@samsung.com>2018-05-23 11:51:49 (GMT)
commit3a843d0d6419f18bd972b0fb57541da194bd37c8 (patch)
tree3f47c298e3e941e1e934d56f3c4338d72ed8a3fe
parent5d9d3391d8d6f853b47c208499e8b760170120ae (diff)
downloadconnman-3a843d0d6419f18bd972b0fb57541da194bd37c8.zip
connman-3a843d0d6419f18bd972b0fb57541da194bd37c8.tar.gz
connman-3a843d0d6419f18bd972b0fb57541da194bd37c8.tar.bz2
Change-Id: I568ffb360881ed78ac3c119c458220829d582d56 Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
-rw-r--r--gsupplicant/supplicant.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c
index a403c20..23fa236 100644
--- a/gsupplicant/supplicant.c
+++ b/gsupplicant/supplicant.c
@@ -1596,6 +1596,8 @@ void *g_supplicant_network_get_wifi_vsie(GSupplicantNetwork *network)
unsigned char *vsie = NULL;
for (list = network->vsie_list; list; list = list->next) {
unsigned char *ie = (unsigned char *)list->data;
+ if (ie == NULL)
+ continue;
vsie = (unsigned char *)g_try_malloc0(ie[1]+2); // tag number size(1), tag length size(1)
if (vsie) {
@@ -2181,8 +2183,11 @@ static void bss_process_ies(DBusMessageIter *iter, void *user_data)
}
if(ie[0] == WLAN_EID_COUNTRY && ie[1] >= 2) {
- memcpy(bss->country_code, ie+2, COUNTRY_CODE_LENGTH);
- continue;
+ /* Add country code only if it is a valid alphabet */
+ if (ie[2] >= 65 && ie[2] <= 90 && ie[3] >= 65 && ie[3] <= 90) {
+ memcpy(bss->country_code, ie+2, COUNTRY_CODE_LENGTH);
+ continue;
+ }
}
#endif
if (ie[0] != WMM_WPA1_WPS_INFO || ie[1] < WPS_INFO_MIN_LEN ||