summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);