From fdb25e202203872a0d6f9982dfa6fd59c52967d0 Mon Sep 17 00:00:00 2001 From: Arif Hussain Date: Sun, 5 Feb 2017 17:38:16 -0800 Subject: [PATCH] qcacld-3.0: Fix memory leak in sme MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In some places memory allocated for the parsed IE’s using csr_get_parsed_bss_description_ies are freed only if existing IE description is NULL. Even though memory allocation not done based on above condition, this may lead to memory leak.. To fix this make sure to check existing IE description while allocating memory. Change-Id: Ia065b9ebb4cbd00f48f3cdca8737190b3609e1c7 CRs-Fixed: 2002298 --- core/sme/src/common/sme_api.c | 2 ++ core/sme/src/csr/csr_api_roam.c | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index c65d632b3a94..39d094120459 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -16238,6 +16238,8 @@ free_scan_flter: csr_free_scan_filter(mac_ctx, scan_filter); qdf_mem_free(scan_filter); } + if (result_handle) + csr_scan_result_purge(mac_ctx, result_handle); return status; } diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index f86745abcbf3..70be835eaaf8 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -5555,7 +5555,7 @@ static void csr_roam_join_handle_profile(tpAniSirGlobal mac_ctx, } else { cmd->u.roamCmd.roamProfile.uapsd_mask = 0; } - if (ies_local && !result->pvIes) + if (ies_local && !scan_result->Result.pvIes) qdf_mem_free(ies_local); roam_info_ptr->pProfile = profile; session->bRefAssocStartCnt++; @@ -9898,6 +9898,8 @@ void csr_roam_roaming_state_disassoc_rsp_processor(tpAniSirGlobal pMac, qdf_mem_free(pScanFilter); qdf_mem_free(roamInfo); return; + } else { + csr_scan_result_purge(pMac, hBSSList); } csr_scan_result_purge(pMac, hBSSList);