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
This commit is contained in:
Hanumanth Reddy Pothula 2017-10-05 17:23:43 +05:30 • committed by snandini
commit 09121df9d7

View file

@ -14649,7 +14649,8 @@ struct cfg80211_bss *wlan_hdd_cfg80211_inform_bss_frame(struct hdd_adapter *adap
struct ieee80211_channel *chan;
struct ieee80211_mgmt *mgmt = NULL;
struct cfg80211_bss *bss_status = NULL;
size_t frame_len = sizeof(struct ieee80211_mgmt) + ie_length;
size_t frame_len = ie_length + offsetof(struct ieee80211_mgmt,
u.probe_resp.variable);
int rssi = 0;
struct hdd_context *hdd_ctx;
struct timespec ts;