From 7dab1193803f90334e5cf8396a35f7ac8371041f Mon Sep 17 00:00:00 2001 From: Eliad Peller Date: Thu, 19 Dec 2013 12:03:24 +0200 Subject: [PATCH] bgscan_learn: Avoid redundant frequencies Some hw modes (e.g., 11b and 11g) contain the same frequencies, causing the supp_freqs array to be populated with redundant entries. Check for the existence of the freq before adding it. Signed-hostap: Eliad Peller --- wpa_supplicant/bgscan_learn.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wpa_supplicant/bgscan_learn.c b/wpa_supplicant/bgscan_learn.c index 07d31e4cb..92ec55c6d 100644 --- a/wpa_supplicant/bgscan_learn.c +++ b/wpa_supplicant/bgscan_learn.c @@ -363,6 +363,9 @@ static int * bgscan_learn_get_supp_freqs(struct wpa_supplicant *wpa_s) for (j = 0; j < modes[i].num_channels; j++) { if (modes[i].channels[j].flag & HOSTAPD_CHAN_DISABLED) continue; + /* some hw modes (e.g. 11b & 11g) contain same freqs */ + if (in_array(freqs, modes[i].channels[j].freq)) + continue; n = os_realloc_array(freqs, count + 2, sizeof(int)); if (n == NULL) continue;