From d4b482a14f23075a4c02ec48550cbcd5e12825d1 Mon Sep 17 00:00:00 2001 From: yeshwanth sriram guntuka Date: Mon, 27 Mar 2017 12:51:46 +0530 Subject: [PATCH] qcacld-3.0: Fix memory leak in csr_process_set_hw_mode Memory is not freed in csr_process_set_hw_mode in the failure case when connection or bt coex is in progress. Fix is to free memory in failure case. Change-Id: I6be164c516ce30d5def7b0088c8b62d6409acf6a CRs-Fixed: 2024748 --- core/sme/src/csr/csr_api_roam.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 2ede0b1f9be0..c45d63025308 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19903,7 +19903,7 @@ QDF_STATUS csr_issue_stored_joinreq(tpAniSirGlobal mac_ctx, void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) { uint32_t len; - struct s_sir_set_hw_mode *cmd; + struct s_sir_set_hw_mode *cmd = NULL; QDF_STATUS status; struct scheduler_msg msg; struct sir_set_hw_mode_resp *param; @@ -19980,6 +19980,8 @@ void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) } return; fail: + if (cmd) + qdf_mem_free(cmd); param = qdf_mem_malloc(sizeof(*param)); if (!param) { sms_log(mac, LOGE,