From fc8c36309a4cb93ab9fe5b98db420739e259b7fc Mon Sep 17 00:00:00 2001 From: Krishna Kumaar Natarajan Date: Wed, 24 May 2017 17:09:40 -0700 Subject: [PATCH] qcacld-3.0: Fix memory leak due to WMA_SET_LINK_STATE Fix memory leak due to WMA_SET_LINK_STATE. There are potential memory leak on lim_set_link_state() failure and vdev target request message cleanup. Change-Id: I873693f9d51f3702e01aec0d9df5c218bdb70f05 CRs-Fixed: 2051977 --- core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c | 4 +++- core/wma/src/wma_dev_if.c | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c index 4fe0df4632aa..b0cf98735fce 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c @@ -1375,8 +1375,10 @@ error: if (lim_set_link_state (mac_ctx, eSIR_LINK_DOWN_STATE, session_entry->bssId, session_entry->selfMacAddr, lim_join_result_callback, - param) != eSIR_SUCCESS) + param) != eSIR_SUCCESS) { + qdf_mem_free(param); pe_err("Failed to set the LinkState"); + } return; } diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index befaec8bd770..d161c0c8c711 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -1382,6 +1382,14 @@ static void wma_cleanup_target_req_param(struct wma_target_req *tgt_req) qdf_mem_free(tgt_req->user_data); tgt_req->user_data = NULL; } + + if (tgt_req->msg_type == WMA_SET_LINK_STATE && tgt_req->user_data) { + tpLinkStateParams params = + (tpLinkStateParams) tgt_req->user_data; + qdf_mem_free(params->callbackArg); + qdf_mem_free(tgt_req->user_data); + tgt_req->user_data = NULL; + } } /**