diff options
| author | Hanumanth Reddy Pothula <c_hpothu@codeaurora.org> | 2017-10-05 17:00:26 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-10-06 12:14:36 -0700 |
| commit | bf79931b98aed71e6dee5344cfd40a0c0544d74a (patch) | |
| tree | 99e1266da1a41505d03f33dd31c289e850c65c86 | |
| parent | bf40ffda0959ee6fa0499ad8f613e053057ab383 (diff) | |
qcacld-3.0: Fix frame lenth information to cfg80211
Propagation from qcacld-2.0 to qcacld-3.0
During BSS frame update, frame_len is calculated as size of ieee80211_mgmt
and ielen. Since ieee80211_mgmt is a generic frame structure and different
frame structures are defined under union this may exceed the actual frame
len.
Fix by calculatiing offset of variable(ies) and ies length.
Change-Id: Ied8e4e604e41de1ac5ccc047ef5cc3cdb05a9445
CRs-Fixed: 2121711
| -rw-r--r-- | core/hdd/src/wlan_hdd_cfg80211.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 6ba75fa75499..734155636684 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -14218,8 +14218,8 @@ struct cfg80211_bss *wlan_hdd_cfg80211_inform_bss_frame(hdd_adapter_t *pAdapter, struct ieee80211_channel *chan; struct ieee80211_mgmt *mgmt = NULL; struct cfg80211_bss *bss_status = NULL; - size_t frame_len = sizeof(tSirMacMgmtHdr) + - SIR_MAC_B_PR_SSID_OFFSET + ie_length; + size_t frame_len = ie_length + offsetof(struct ieee80211_mgmt, + u.probe_resp.variable); int rssi = 0; hdd_context_t *pHddCtx; struct timespec ts; |
