summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeng Xu <pxu@qca.qualcomm.com>2014-07-22 19:13:05 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-07-25 10:36:49 -0700
commit5e7e055a4f758af481da0f38d666aa0010e63bcf (patch)
treef9782398c0652c120927b7d6a93fd0a7f0adf389
parent3f3f12ffe8003b7c9072dfa48b1926dfcadfa782 (diff)
qca-cld:cld_txrx: Fix static analysis issues in tl_shim.c
Fixing static analysis issues in tl_shim.c Change-Id: I8ce052b03434470aad9a083486268f55c480e6de CRs-fixed: 698161
-rw-r--r--CORE/CLD_TXRX/TLSHIM/tl_shim.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/CORE/CLD_TXRX/TLSHIM/tl_shim.c b/CORE/CLD_TXRX/TLSHIM/tl_shim.c
index 31407d8cf24d..08856ba4c4fb 100644
--- a/CORE/CLD_TXRX/TLSHIM/tl_shim.c
+++ b/CORE/CLD_TXRX/TLSHIM/tl_shim.c
@@ -516,6 +516,12 @@ is_ccmp_pn_replay_attack(void *vos_ctx, struct ieee80211_frame *wh,
peer = ol_txrx_find_peer_by_addr_and_vdev(pdev, vdev, wh->i_addr2,
&peer_id);
+ if (NULL == peer) {
+ TLSHIM_LOGE(
+ "%s: Failed to find peer, Not able to validate PN", __func__);
+ return true;
+ }
+
new_pn = tl_shim_extract_ccmp_pn(ccmp_ptr);
last_pn_valid = &peer->last_rmf_pn_valid;
last_pn = &peer->last_rmf_pn;
@@ -1237,6 +1243,10 @@ adf_nbuf_t WLANTL_SendIPA_DataFrame(void *vos_ctx, void *vdev,
adf_nbuf_t ret;
ENTER();
+ if (NULL == tl_shim) {
+ TLSHIM_LOGW("INVALID TL SHIM CONTEXT");
+ return skb;
+ }
if (!adf_os_atomic_read(&tl_shim->vdev_active[interface_id])) {
TLSHIM_LOGW("INACTIVE VDEV");
@@ -2620,6 +2630,11 @@ void WLANTL_RegisterOPCbFnc(void *vos_ctx,
}
tl_shim = vos_get_context(VOS_MODULE_ID_TL, vos_ctx);
+ if (NULL == tl_shim) {
+ TLSHIM_LOGW("Invalid TL Shim context");
+ return;
+ }
+
tl_shim->fw_op_cb = func;
wdi_in_ipa_uc_register_op_cb(((pVosContextType)vos_ctx)->pdev_txrx_ctx,
WLANTL_IpaUcOpEventHandler, (void *)tl_shim);