Fix crash on BSS deinit getting called before BSS init
authorJouni Malinen <jouni.malinen@atheros.com>
Mon, 28 Dec 2009 10:11:23 +0000 (12:11 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 28 Dec 2009 10:11:23 +0000 (12:11 +0200)
wpa_supplicant/bss.c

index 3d2a13b..a826056 100644 (file)
@@ -260,6 +260,8 @@ void wpa_bss_deinit(struct wpa_supplicant *wpa_s)
 {
        struct wpa_bss *bss, *n;
        eloop_cancel_timeout(wpa_bss_timeout, wpa_s, NULL);
+       if (wpa_s->bss.next == NULL)
+               return; /* BSS table not yet initialized */
        dl_list_for_each_safe(bss, n, &wpa_s->bss, struct wpa_bss, list)
                wpa_bss_remove(wpa_s, bss);
 }