diff options
| -rw-r--r-- | CORE/CLD_TXRX/TLSHIM/tl_shim.c | 15 |
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); |
