]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
dbus: Check that wpa_s->scan_res != NULL before dereferencing it
authorJouni Malinen <j@w1.fi>
Sat, 26 Dec 2009 11:55:22 +0000 (13:55 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 26 Dec 2009 11:55:22 +0000 (13:55 +0200)
wpa_supplicant/dbus/dbus_new.c
wpa_supplicant/dbus/dbus_new_handlers.c

index 917de49f1111b098ab7d16f4a91a6906d7047f08..8674c889f0ba78d9293af4f3588d46b7a1a758d2 100644 (file)
@@ -1640,7 +1640,7 @@ static int wpas_dbus_unregister_interface(struct wpa_supplicant *wpa_s)
                return 0;
 
        /* unregister all BSSs and networks from dbus */
-       for (i = 0; i < wpa_s->scan_res->num; i++) {
+       for (i = 0; wpa_s->scan_res && i < wpa_s->scan_res->num; i++) {
                wpas_dbus_unregister_bss(wpa_s,
                                         wpa_s->scan_res->res[i]->bssid);
        }
index 601a0caf036600352faa6509b5d73cb22c4963bd..8ed95cb6c7b4411883a8bb0d952034e8b542d587 100644 (file)
@@ -188,7 +188,7 @@ static struct wpa_scan_res * find_scan_result(struct bss_handler_args *bss)
 {
        struct wpa_scan_results *results = bss->wpa_s->scan_res;
        size_t i;
-       for (i = 0; i < results->num; i++) {
+       for (i = 0; results && i < results->num; i++) {
                if (!os_memcmp(results->res[i]->bssid, bss->bssid, ETH_ALEN))
                        return results->res[i];
        }
@@ -2287,7 +2287,7 @@ DBusMessage * wpas_dbus_getter_current_bss(DBusMessage *message,
 
        if (!is_zero_ether_addr(wpa_s->bssid)) {
                size_t i;
-               for (i = 0; i < wpa_s->scan_res->num; i++) {
+               for (i = 0; wpa_s->scan_res && i < wpa_s->scan_res->num; i++) {
                        struct wpa_scan_res *res = wpa_s->scan_res->res[i];
                        if (!os_memcmp(wpa_s->bssid, res->bssid, ETH_ALEN)) {
                                is_bssid_known = 1;