[DTV00857290][DTV][Coverity Scanned Code Defect]
[Description]
Fix coverity defects under nic/nic_rx.c
Fix Unchecked return value.
- Cid#361464 in line 233.
Fix Logically dead code.
- Cid#69863 in line 901.
Fix Dereference after null check.
- Cid#74440 in line 3261.
Add null check in mgmt/p2p_rlm.c.
Change-Id: I40c4627027a9f4067ec41f1a39f164d852ab9713
Signed-off-by: Alice Ou <alice.ou@mediatek.com>
CR-Id: DTV00857290
(cherry picked from commit ee14dbcaeb90fa93a9ffbbac39824daf0ea5c28a)
(cherry picked from commit 23f82558cb226b23f84f3488c31b38cdc9d99810)
(cherry picked from commit 486fe0770035cc05487427139bb46901fc084b19)
diff --git a/mgmt/p2p_rlm.c b/mgmt/p2p_rlm.c
index 4d3dbc9..03570d6 100644
--- a/mgmt/p2p_rlm.c
+++ b/mgmt/p2p_rlm.c
@@ -330,6 +330,11 @@
prRxFrame = (P_ACTION_20_40_COEXIST_FRAME) prSwRfb->pvHeader;
prStaRec = cnmGetStaRecByIndex(prAdapter, prSwRfb->ucStaRecIdx);
+ if (!(prSwRfb->prStaRec)) {
+ DBGLOG(P2P, ERROR, "prSwRfb->prStaRec is null.\n");
+ return;
+ }
+
if (prRxFrame->ucAction != ACTION_PUBLIC_20_40_COEXIST || !prStaRec || prStaRec->ucStaState != STA_STATE_3 ||
prSwRfb->u2PacketLen < (WLAN_MAC_MGMT_HEADER_LEN + 5) || prSwRfb->prStaRec->ucBssIndex !=
/* HIF_RX_HDR_GET_NETWORK_IDX(prSwRfb->prHifRxHdr) != */
diff --git a/nic/nic_rx.c b/nic/nic_rx.c
index d372f40..0a5679d 100644
--- a/nic/nic_rx.c
+++ b/nic/nic_rx.c
@@ -230,7 +230,10 @@
for (i = CFG_RX_MAX_PKT_NUM; i != 0; i--) {
prSwRfb = (P_SW_RFB_T) pucMemHandle;
- nicRxSetupRFB(prAdapter, prSwRfb);
+ if (nicRxSetupRFB(prAdapter, prSwRfb)) {
+ DBGLOG(RX, ERROR, "nicRxInitialize failed: Cannot allocate packet buffer for SwRfb!\n");
+ return;
+ }
nicRxReturnRFB(prAdapter, prSwRfb);
pucMemHandle += ALIGN_4(sizeof(SW_RFB_T));
@@ -906,12 +909,14 @@
prRxCtrl->ucNumIndPacket++;
#endif
+#ifndef LINUX
if (fgIsRetained) {
prRxCtrl->apvRetainedPacket[prRxCtrl->ucNumRetainedPacket] = prSwRfb->pvPacket;
prRxCtrl->ucNumRetainedPacket++;
- } else {
+ } else
+#endif
prSwRfb->pvPacket = NULL;
- }
+
/* Return RFB */
if (nicRxSetupRFB(prAdapter, prSwRfb)) {