summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHanumanth Reddy Pothula <c_hpothu@codeaurora.org>2017-10-05 17:00:26 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-10-06 12:14:36 -0700
commitbf79931b98aed71e6dee5344cfd40a0c0544d74a (patch)
tree99e1266da1a41505d03f33dd31c289e850c65c86
parentbf40ffda0959ee6fa0499ad8f613e053057ab383 (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.c4
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;