From 1891fe4e6ae7b5db0c213e73fa85f4fac8569e18 Mon Sep 17 00:00:00 2001 From: Hanumanth Reddy Pothula Date: Thu, 8 Sep 2016 14:10:33 +0530 Subject: qcacld-3.0: Resolve static analysis issues qcacld-2.0 to qcacld-3.0 propagation Resolved static analysis issues, variable initialization, return on failure, validate data before using. Change-Id: Ia6ffd422ae3f9bc8419f32aa914839a091841335 CRs-Fixed: 975049 (cherry picked from commit 3284a163a31f49bfd7f2b0f2319ee30c3710ee64) --- core/hdd/src/wlan_hdd_tdls.c | 3 ++- core/mac/src/sys/legacy/src/utils/src/parser_api.c | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c index d8f7a01053d4..86347d36b7f2 100644 --- a/core/hdd/src/wlan_hdd_tdls.c +++ b/core/hdd/src/wlan_hdd_tdls.c @@ -4387,7 +4387,8 @@ static int __wlan_hdd_cfg80211_tdls_oper(struct wiphy *wiphy, { QDF_STATUS status; unsigned long rc; - tCsrTdlsLinkEstablishParams tdlsLinkEstablishParams; + tCsrTdlsLinkEstablishParams tdlsLinkEstablishParams = { {0}, 0, + 0, 0, 0, 0, 0, {0}, 0, {0} }; pTdlsPeer = wlan_hdd_tdls_find_peer(pAdapter, peer, true); diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index a2133316ec3e..ea28db9032d7 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -3268,17 +3268,21 @@ sir_beacon_ie_ese_bcn_report(tpAniSirGlobal pMac, retStatus = eSIR_FAILURE; goto err_bcnrep; } - *pos = SIR_MAC_RATESET_EID; - pos++; - *pos = eseBcnReportMandatoryIe.supportedRates.numRates; - pos++; - qdf_mem_copy(pos, + if (eseBcnReportMandatoryIe.supportedRates.numRates <= + SIR_MAC_RATESET_EID_MAX) { + *pos = SIR_MAC_RATESET_EID; + pos++; + *pos = eseBcnReportMandatoryIe.supportedRates.numRates; + pos++; + qdf_mem_copy(pos, (uint8_t *) eseBcnReportMandatoryIe.supportedRates. rate, eseBcnReportMandatoryIe.supportedRates.numRates); - pos += eseBcnReportMandatoryIe.supportedRates.numRates; - freeBytes -= - (1 + 1 + eseBcnReportMandatoryIe.supportedRates.numRates); + pos += eseBcnReportMandatoryIe.supportedRates.numRates; + freeBytes -= + (1 + 1 + + eseBcnReportMandatoryIe.supportedRates.numRates); + } } /* Fill FH Parameter set IE */ -- cgit v1.2.3