wlan: Prevent memory access to already freed pointer
Prevent memory access to already freed pointer
Change-Id: I8f4f2888ffc8ea0444855e2ebe0eba9d17c00df9
CRs-Fixed: 693681
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
index 8592c31..d79a867 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
@@ -3897,7 +3897,6 @@
//Store this value to use in TPC report IE.
rrmCacheMgmtTxPower( pMac, pChnlParams->txMgmtPower, psessionEntry );
#endif
- vos_mem_free(body);
channelChangeReasonCode = psessionEntry->channelChangeReasonCode;
// initialize it back to invalid id
psessionEntry->channelChangeReasonCode = 0xBAD;
@@ -3945,6 +3944,9 @@
default:
break;
}
+ vos_mem_free(body);
+ body = NULL;
+
}
/**
* limProcessStartScanRsp()
@@ -4122,8 +4124,6 @@
SET_LIM_PROCESS_DEFD_MESGS(pMac, true);
pFinishScanParam = (tpFinishScanParams) body;
status = pFinishScanParam->status;
- vos_mem_free(body);
- body = NULL;
limLog(pMac, LOG1, FL("Rcvd FinishScanRsp in state %d channel %d "),
pMac->lim.gLimHalScanState,
@@ -4168,6 +4168,8 @@
else
{
limLog( pMac, LOGP, "No Resume link callback set but station is in suspend state");
+ vos_mem_free(body);
+ body = NULL;
return;
}
break;
@@ -4178,6 +4180,8 @@
pMac->lim.gLimHalScanState);
break;
}
+ vos_mem_free(body);
+ body = NULL;
return;
}
/**