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
This commit is contained in:
Krishna Kumaar Natarajan 2017-05-24 17:09:40 -07:00 • committed by snandini
commit fc8c36309a
2 changed files with 11 additions and 1 deletions

View file

@ -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;
}

View file

@ -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;
}
}
/**