about summary refs log tree commit diff
path: root/debian/patches/13-validate_mac_addr.patch
blob: 47a81e19dee7e6f558829595057da0fbe86c910e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--- network-manager-0.6.5.orig/src/nm-device-802-11-wireless.c
+++ network-manager-0.6.5/src/nm-device-802-11-wireless.c
@@ -3439,6 +3439,20 @@
 }
 
 static gboolean
+has_valid_ether_addr (NMAccessPoint *ap)
+{
+	struct ether_addr *addr;
+	int i;
+
+	addr = nm_ap_get_address (ap);
+	for (i = 0 ; i < ETH_ALEN; i++)
+		if (addr->ether_addr_octet[i] != 0)
+			return TRUE;
+
+	return FALSE;
+}
+
+static gboolean
 process_scan_results (NMDevice80211Wireless *dev,
                       const guint8 *res_buf,
                       guint32 res_buf_len)
@@ -3474,7 +3488,8 @@
 
 				/* Merge previous AP */
 				if (ap) {
-					add_new_ap_to_device_list (dev, ap);
+					if (has_valid_ether_addr (ap))
+						add_new_ap_to_device_list (dev, ap);
 					nm_ap_unref (ap);
 					ap = NULL;
 				}