瀏覽代碼

qcacld-3.0: Add NULL pointer check before accessing roam profile

Check for NULL pointer before accessing current roam profile in
STOP_BSS rsp, csr_roam_roaming_state_stop_bss_rsp_processor.

Change-Id: I670151fa81ab3389c7a07ef37bcc909e3fcb9387
CRs-Fixed: 1082446
(cherry picked from commit 1d0fd66e49e4c39ed57c80fa8603cc1b59c0b548)
Naveen Rawat 8 年之前
父節點
當前提交
efd71c3582
共有 1 個文件被更改,包括 6 次插入5 次删除
  1. 6 5
      core/sme/src/csr/csr_api_roam.c

+ 6 - 5
core/sme/src/csr/csr_api_roam.c

@@ -9098,6 +9098,7 @@ static void csr_roam_roaming_state_stop_bss_rsp_processor(tpAniSirGlobal pMac,
 							  tSirSmeRsp *pSmeRsp)
 {
 	eCsrRoamCompleteResult result_code = eCsrNothingToJoin;
+	tCsrRoamProfile *profile;
 
 #ifdef FEATURE_WLAN_DIAG_SUPPORT_CSR
 	{
@@ -9116,16 +9117,16 @@ static void csr_roam_roaming_state_stop_bss_rsp_processor(tpAniSirGlobal pMac,
 	pMac->roam.roamSession[pSmeRsp->sessionId].connectState =
 		eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED;
 	if (CSR_IS_ROAM_SUBSTATE_STOP_BSS_REQ(pMac, pSmeRsp->sessionId)) {
-		if (CSR_IS_CONN_NDI(pMac->roam.roamSession[pSmeRsp->sessionId].
-							pCurRoamProfile)) {
+		profile =
+		    pMac->roam.roamSession[pSmeRsp->sessionId].pCurRoamProfile;
+		if (profile && CSR_IS_CONN_NDI(profile)) {
 			result_code = eCsrStopBssSuccess;
 			if (pSmeRsp->statusCode != eSIR_SME_SUCCESS)
 				result_code = eCsrStopBssFailure;
 		}
 		csr_roam_complete(pMac, result_code, NULL);
-	} else
-	if (CSR_IS_ROAM_SUBSTATE_DISCONNECT_CONTINUE
-		    (pMac, pSmeRsp->sessionId)) {
+	} else if (CSR_IS_ROAM_SUBSTATE_DISCONNECT_CONTINUE(pMac,
+			pSmeRsp->sessionId)) {
 		csr_roam_reissue_roam_command(pMac);
 	}
 }