aboutsummaryrefslogtreecommitdiff
path: root/net/lapb/lapb_timer.c
diff options
context:
space:
mode:
authortinlin <tinlin@codeaurora.org>2019-04-26 17:13:04 +0800
committerSecurityBot <android-nexus-securitybot@system.gserviceaccount.com>2019-05-01 17:27:55 -0700
commit6ef3b69bf78ac36665621baa820bce0d8eae57ce (patch)
tree2e99160bb8e2b11d1d02faa625f97b7a45870696 /net/lapb/lapb_timer.c
parent690aecf90c1708016b5b2c0eb3cfa29cbe0629fb (diff)
qcacld-2.0: Fix OOB read in sme_RrmProcessBeaconReportReqInd
Propagate from cld-3.0 to cld-2.0. When beacon report request action frame is received, rrmProcessBeaconReportReq() is called and num_channels value is calculated from the action frame directly from user. This value is assigned to pSmeBcnReportReq->channelList.numChannels and this num channels value along with the channel list is posted to sme for further processing. The sme function sme_RrmProcessBeaconReportReqInd() processes this sme message eWNI_SME_BEACON_REPORT_REQ_IND. In this function, the channels in channel list are looped through the received value pBeaconReq->channelList.numChannels and is copied to the destination pSmeRrmContext->channelList array from the pBeaconReq->channelList.channelNumber[] array. The maximum possible number of channels in channel list BeaconReq->channelList.channelNumber[] allocated statically in the definition of tSirChannelList is SIR_ESE_MAX_MEAS_IE_REQS (8). So when the pBeaconReq->channelList.numChannels, possible OOB read occurs. Validate the value of pBeaconReq->channelList.numChannels received from the action frame against the maximum supported number of channels in channel list SIR_ESE_MAX_MEAS_IE_REQS (8). Place this validation inside the function sme_RrmProcessBeaconReportReqInd() instead of validating it at rrmProcessBeaconReportReq() so that it defends from other caller sme_SetEseBeaconRequest() which is from user space command through IOCTL. Bug: 130890737 Change-Id: I2074b04081328ceab7eeb29c33631a635e9d93c3 CRs-Fixed: 2442733
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions