浏览代码

cfg80211: reject invalid IBSS BSSIDs in wext compat code

Don't allow using a multicast address as the BSSID, that
isn't a valid configuration.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Johannes Berg 11 年之前
父节点
当前提交
74f8274103
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      net/wireless/ibss.c

+ 3 - 0
net/wireless/ibss.c

@@ -481,6 +481,9 @@ int cfg80211_ibss_wext_siwap(struct net_device *dev,
 	if (is_zero_ether_addr(bssid) || is_broadcast_ether_addr(bssid))
 	if (is_zero_ether_addr(bssid) || is_broadcast_ether_addr(bssid))
 		bssid = NULL;
 		bssid = NULL;
 
 
+	if (bssid && !is_valid_ether_addr(bssid))
+		return -EINVAL;
+
 	/* both automatic */
 	/* both automatic */
 	if (!bssid && !wdev->wext.ibss.bssid)
 	if (!bssid && !wdev->wext.ibss.bssid)
 		return 0;
 		return 0;