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);