hostapd: fix post v2.4 security issues
[openwrt.git] / package / network / services / hostapd / patches / 330-nl80211_fix_set_freq.patch
index 864ac5e..dd90877 100644 (file)
@@ -1,20 +1,11 @@
 --- a/src/drivers/driver_nl80211.c
 +++ b/src/drivers/driver_nl80211.c
-@@ -7380,7 +7380,7 @@ static int wpa_driver_nl80211_set_freq(s
-       nl80211_cmd(drv, msg, 0, NL80211_CMD_SET_WIPHY);
--      NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, drv->ifindex);
-+      NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, bss->ifindex);
-       if (nl80211_put_freq_params(msg, freq) < 0)
-               goto nla_put_failure;
-@@ -11905,7 +11905,7 @@ static int nl80211_switch_channel(void *
-               return -ENOMEM;
-       nl80211_cmd(drv, msg, 0, NL80211_CMD_CHANNEL_SWITCH);
--      NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, drv->ifindex);
-+      NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, bss->ifindex);
-       NLA_PUT_U32(msg, NL80211_ATTR_CH_SWITCH_COUNT, settings->cs_count);
-       ret = nl80211_put_freq_params(msg, &settings->freq_params);
-       if (ret)
+@@ -3616,7 +3616,7 @@ static int nl80211_set_channel(struct i8
+                  freq->freq, freq->ht_enabled, freq->vht_enabled,
+                  freq->bandwidth, freq->center_freq1, freq->center_freq2);
+-      msg = nl80211_drv_msg(drv, 0, set_chan ? NL80211_CMD_SET_CHANNEL :
++      msg = nl80211_bss_msg(bss, 0, set_chan ? NL80211_CMD_SET_CHANNEL :
+                             NL80211_CMD_SET_WIPHY);
+       if (!msg || nl80211_put_freq_params(msg, freq) < 0) {
+               nlmsg_free(msg);