diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index bb6c826e7b8a..856f26061f77 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -3221,7 +3221,9 @@ hdd_association_completion_handler(struct hdd_adapter *adapter, (u8 *) (roam_info->pbFrames + roam_info->nBeaconLength + roam_info->nAssocReqLength); - if (assoc_rsp) { + if (assoc_rsp && + roam_info->nAssocRspLength > + ASSOC_RSP_IES_OFFSET) { /* * assoc_rsp needs to point to the IEs */ @@ -3240,7 +3242,9 @@ hdd_association_completion_handler(struct hdd_adapter *adapter, assoc_req = (u8 *) (roam_info->pbFrames + roam_info->nBeaconLength); if (assoc_req) { - if (!ft_carrier_on) { + if (!ft_carrier_on && + roam_info->nAssocReqLength > + ASSOC_REQ_IES_OFFSET) { /* * assoc_req needs to point to * the IEs @@ -3596,7 +3600,9 @@ hdd_association_completion_handler(struct hdd_adapter *adapter, assoc_req = (u8 *)(roam_info->pbFrames + roam_info->nBeaconLength); - if (assoc_req) { + if (assoc_req && + roam_info->nAssocReqLength > + ASSOC_REQ_IES_OFFSET) { /* * assoc_req needs to point to * the IEs @@ -3615,7 +3621,9 @@ hdd_association_completion_handler(struct hdd_adapter *adapter, (u8 *)(roam_info->pbFrames + roam_info->nBeaconLength + roam_info->nAssocReqLength); - if (assoc_rsp) { + if (assoc_rsp && + roam_info->nAssocRspLength > + ASSOC_RSP_IES_OFFSET) { /* * assoc_rsp needs to point to the IEs */