diff --git a/net/wireless/ibss.c b/net/wireless/ibss.c index e16cc132c58ad3328f1f47b41f4585728d96ddff..f55f6ffcfcec59c296176181cf67dc44eb66dcab 100644 --- a/net/wireless/ibss.c +++ b/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)) bssid = NULL; + if (bssid && !is_valid_ether_addr(bssid)) + return -EINVAL; + /* both automatic */ if (!bssid && !wdev->wext.ibss.bssid) return 0;