From 7cb323d92303df8c87d0c40c1c67b4d3a065275c Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 10 Nov 2015 11:11:30 -0600 Subject: [PATCH] wifi: don't accept any BSSes with missing BSSIDs (rh #1276426) The supplicant should never be sending us BSSes without BSSIDs. https://bugzilla.redhat.com/show_bug.cgi?id=1276426 --- src/devices/wifi/nm-device-wifi.c | 2 +- src/devices/wifi/nm-wifi-ap.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/devices/wifi/nm-device-wifi.c b/src/devices/wifi/nm-device-wifi.c index c3e565759..9a0fe99d0 100644 --- a/src/devices/wifi/nm-device-wifi.c +++ b/src/devices/wifi/nm-device-wifi.c @@ -1551,7 +1551,7 @@ supplicant_iface_new_bss_cb (NMSupplicantInterface *iface, ap = nm_ap_new_from_properties (object_path, properties); if (!ap) { - _LOGW (LOGD_WIFI_SCAN, "invalid AP properties received"); + _LOGD (LOGD_WIFI_SCAN, "invalid AP properties received for %s", object_path); return; } diff --git a/src/devices/wifi/nm-wifi-ap.c b/src/devices/wifi/nm-wifi-ap.c index 036de341d..771d67041 100644 --- a/src/devices/wifi/nm-wifi-ap.c +++ b/src/devices/wifi/nm-wifi-ap.c @@ -491,9 +491,10 @@ nm_ap_new_from_properties (const char *supplicant_path, GVariant *properties) ap = (NMAccessPoint *) g_object_new (NM_TYPE_AP, NULL); nm_ap_update_from_properties (ap, supplicant_path, properties); - /* ignore APs with invalid BSSIDs */ + /* ignore APs with invalid or missing BSSIDs */ addr = nm_ap_get_address (ap); - if ( nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN) + if ( !addr + || nm_utils_hwaddr_matches (addr, -1, bad_bssid1, ETH_ALEN) || nm_utils_hwaddr_matches (addr, -1, bad_bssid2, ETH_ALEN)) { g_object_unref (ap); return NULL;