50 lines
1.9 KiB
Diff
50 lines
1.9 KiB
Diff
From: Jes Sorensen <Jes.Sorensen@redhat.com>
|
|
Date: Thu, 19 Jun 2014 11:37:23 +0200
|
|
Subject: [100/249] staging: rtl8723au: rtw_add_beacon(): Replace magic
|
|
constant with appropriate struct size
|
|
Origin: https://git.kernel.org/linus/db97812c2c5e8a18d7cf3eb679a4cfdd6125f748
|
|
|
|
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
|
|
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
|
---
|
|
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c | 12 +++++++-----
|
|
1 file changed, 7 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
|
|
index 638e833..80d5fe7 100644
|
|
--- a/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
|
|
+++ b/drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c
|
|
@@ -2912,7 +2912,7 @@ static int rtw_add_beacon(struct rtw_adapter *adapter, const u8 *head,
|
|
size_t head_len, const u8 *tail, size_t tail_len)
|
|
{
|
|
int ret = 0;
|
|
- u8 *pbuf = NULL;
|
|
+ u8 *pbuf;
|
|
uint len, wps_ielen = 0;
|
|
struct mlme_priv *pmlmepriv = &adapter->mlmepriv;
|
|
/* struct sta_priv *pstapriv = &padapter->stapriv; */
|
|
@@ -2923,17 +2923,19 @@ static int rtw_add_beacon(struct rtw_adapter *adapter, const u8 *head,
|
|
if (check_fwstate(pmlmepriv, WIFI_AP_STATE) != true)
|
|
return -EINVAL;
|
|
|
|
- if (head_len < 24)
|
|
+ if (head_len < sizeof(struct ieee80211_hdr_3addr))
|
|
return -EINVAL;
|
|
|
|
pbuf = kzalloc(head_len + tail_len, GFP_KERNEL);
|
|
if (!pbuf)
|
|
return -ENOMEM;
|
|
/* 24 = beacon header len. */
|
|
- memcpy(pbuf, (void *)head + 24, head_len - 24);
|
|
- memcpy(pbuf + head_len - 24, (void *)tail, tail_len);
|
|
+ memcpy(pbuf, (void *)head + sizeof(struct ieee80211_hdr_3addr),
|
|
+ head_len - sizeof(struct ieee80211_hdr_3addr));
|
|
+ memcpy(pbuf + head_len - sizeof(struct ieee80211_hdr_3addr),
|
|
+ (void *)tail, tail_len);
|
|
|
|
- len = head_len + tail_len - 24;
|
|
+ len = head_len + tail_len - sizeof(struct ieee80211_hdr_3addr);
|
|
|
|
/* check wps ie if inclued */
|
|
if (cfg80211_find_vendor_ie(WLAN_OUI_MICROSOFT,
|