diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2019-06-11 21:55:14 +0900 |
---|---|---|
committer | Jaehyun Kim <jeik01.kim@samsung.com> | 2019-06-11 21:55:57 +0900 |
commit | 85bcbd4afa2fee27400b4efc67000a1ea7a71973 (patch) | |
tree | 5df402279541fbc452e56ddf5bdca7979d7c267d | |
parent | 966f3e9da9a6e943333542b26778357b304c2f1b (diff) | |
download | connman-85bcbd4afa2fee27400b4efc67000a1ea7a71973.tar.gz connman-85bcbd4afa2fee27400b4efc67000a1ea7a71973.tar.bz2 connman-85bcbd4afa2fee27400b4efc67000a1ea7a71973.zip |
Fixed to prevent bssid corruptionsubmit/tizen/20190614.050629accepted/tizen/unified/20190617.061745
Change-Id: I26b9d81fad917939750b42c893ea5e44824ba270
Signed-off-by: Jaehyun Kim <jeik01.kim@samsung.com>
-rw-r--r-- | plugins/wifi.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index 54380cc9..9cc1d298 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -184,6 +184,7 @@ static gboolean wifi_first_scan = false; static gboolean found_with_first_scan = false; static gboolean is_wifi_notifier_registered = false; static GHashTable *failed_bssids = NULL; +static unsigned char buff_bssid[WIFI_BSSID_LEN_MAX] = { 0, }; #endif @@ -3299,16 +3300,17 @@ static void ssid_init(GSupplicantSSID *ssid, struct connman_network *network) bssids->bssid[3], bssids->bssid[4], bssids->bssid[5]); buff[MAC_ADDRESS_LENGTH - 1] = '\0'; - gchar *curr_bssids = g_strdup((const gchar *)buff); + gchar *curr_bssid = g_strdup((const gchar *)buff); - if (g_hash_table_contains(failed_bssids, curr_bssids)) { + if (g_hash_table_contains(failed_bssids, curr_bssid)) { DBG("bssid match, try next bssid"); - g_free(curr_bssids); + g_free(curr_bssid); continue; } else { - g_hash_table_add(failed_bssids, curr_bssids); + g_hash_table_add(failed_bssids, curr_bssid); - ssid->bssid = &(bssids->bssid[0]); + memcpy(buff_bssid, bssids->bssid, WIFI_BSSID_LEN_MAX); + ssid->bssid = buff_bssid; ssid->freq = (unsigned int)bssids->frequency; break; } |