From: Nathan Williams Date: Sun, 20 Mar 2011 10:06:36 +0000 (+0200) Subject: wpa_supplicant: Search BSS list from back to front X-Git-Tag: hostap-1-bp~458 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc8397822bcb89139959b4f00931d88db32c6636;p=thirdparty%2Fhostap.git wpa_supplicant: Search BSS list from back to front This fixes an issue seen in our wifi testbed, where we frequently switch the SSID of the AP. wpa_supplicant's BSS list will have, for example both (from the previous test) and (from the current test) - note that the bssid is the same for both. The (old) D-Bus API for fetching scan responses from wpa_supplicant is fetch-by-bssid, so the caller (flimflam) incorrectly believes we're associated with . --- diff --git a/wpa_supplicant/bss.c b/wpa_supplicant/bss.c index 580928433..145b716dc 100644 --- a/wpa_supplicant/bss.c +++ b/wpa_supplicant/bss.c @@ -492,7 +492,7 @@ struct wpa_bss * wpa_bss_get_bssid(struct wpa_supplicant *wpa_s, const u8 *bssid) { struct wpa_bss *bss; - dl_list_for_each(bss, &wpa_s->bss, struct wpa_bss, list) { + dl_list_for_each_reverse(bss, &wpa_s->bss, struct wpa_bss, list) { if (os_memcmp(bss->bssid, bssid, ETH_ALEN) == 0) return bss; }