Sfoglia il codice sorgente

qcacld-3.0: Fix memory leak in OWE pending assoc_ind

In normal scenario, owe_pending_assoc_ind is inserted to
owe_pending_assoc_ind_list and would be released when
sap is destroyed.

Once wlansap_roam_process_infra_assoc_ind failed to handle
assoc_ind, owe_pending_assoc_ind will not be inserted to
owe_pending_assoc_ind_list. There would be memory leakage.

Change-Id: I6e799cae09d0bdc0beaf1a8c3f2e55c48c9056e0
CRs-Fixed: 3323377
Qian Zhang 2 anni fa
parent
commit
6b67f86e66
1 ha cambiato i file con 4 aggiunte e 0 eliminazioni
  1. 4 0
      core/sme/src/csr/csr_api_roam.c

+ 4 - 0
core/sme/src/csr/csr_api_roam.c

@@ -4025,6 +4025,10 @@ csr_roam_chk_lnk_assoc_ind(struct mac_context *mac_ctx, tSirSmeRsp *msg_ptr)
 					eCSR_ROAM_RESULT_INFRA_ASSOCIATION_IND);
 		if (!QDF_IS_STATUS_SUCCESS(status)) {
 			/* Refused due to Mac filtering */
+			if (roam_info->owe_pending_assoc_ind) {
+				qdf_mem_free(roam_info->owe_pending_assoc_ind);
+				roam_info->owe_pending_assoc_ind = NULL;
+			}
 			roam_info->status_code = eSIR_SME_ASSOC_REFUSED;
 		} else if (pAssocInd->rsnIE.length && WLAN_ELEMID_RSN ==
 			   pAssocInd->rsnIE.rsnIEdata[0]) {