summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Sunki <rsunki@qca.qualcomm.com>2014-07-29 20:42:48 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-08-04 19:31:46 -0700
commit39aa725417c2d3cf9ae30d19a237343109a149ec (patch)
tree59659e36cf0e25b5bd090870d933badbc843ee99
parentef23bc9b184cd983c5c8d3633d62cb9cfabb45b3 (diff)
qcacld: DFS, fix issues found by static analysis tool.
Add check to make sure that dfs channel list index does not exceed the dfs allocated list of bonded channels Change-Id: I0b62a4c4912a2baca70c3385144510b02599873b CRs-Fixed: 701081
-rw-r--r--CORE/SAP/src/sapFsm.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/CORE/SAP/src/sapFsm.c b/CORE/SAP/src/sapFsm.c
index c3ee0bd8ebd4..eec80fa78487 100644
--- a/CORE/SAP/src/sapFsm.c
+++ b/CORE/SAP/src/sapFsm.c
@@ -1230,6 +1230,11 @@ sapDfsIsChannelInNolList(ptSapContext sapContext, v_U8_t channelNumber,
if (j < numChannels &&
i < pMac->sap.SapDfsInfo.numCurrentRegDomainDfsChannels)
{
+ if (numChannels > MAX_BONDED_CHANNELS) {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_WARN,
+ FL( "numChannels > MAX_BONDED_CHANNELS so resetting"));
+ numChannels = MAX_BONDED_CHANNELS;
+ }
sapMarkDfsChannels(sapContext,
channels,
numChannels,
@@ -3579,6 +3584,12 @@ v_U8_t sapIndicateRadar(ptSapContext sapContext, tSirSmeDfsEventInd *dfs_event)
sapGet5GHzChannelList(sapContext);
+ if (dfs_event->chan_list.nchannels > SIR_DFS_MAX_20M_SUB_CH) {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_WARN,
+ FL("nchannels >SIR_DFS_MAX_20M_SUB_CH so resetting"));
+ dfs_event->chan_list.nchannels = SIR_DFS_MAX_20M_SUB_CH;
+ }
+
sapMarkDfsChannels(sapContext, dfs_event->chan_list.channels,
dfs_event->chan_list.nchannels, vos_get_monotonic_boottime());