qcacld-3.0: Do not free node if qdf_list_remove_node fails
In function __lim_process_sme_register_mgmt_frame_req, check for
return of qdf_list_remove_node before freeing node.
Change-Id: Ie52f298427e5b006b95f5248ce588d97e2c6aa72
CRs-Fixed: 1081795
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index e488b5f..03936bd 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -4633,11 +4633,12 @@
}
if (match) {
qdf_mutex_acquire(&mac_ctx->lim.lim_frame_register_lock);
- qdf_list_remove_node(
+ if (QDF_STATUS_SUCCESS ==
+ qdf_list_remove_node(
&mac_ctx->lim.gLimMgmtFrameRegistratinQueue,
- (qdf_list_node_t *)lim_mgmt_regn);
+ (qdf_list_node_t *)lim_mgmt_regn))
+ qdf_mem_free(lim_mgmt_regn);
qdf_mutex_release(&mac_ctx->lim.lim_frame_register_lock);
- qdf_mem_free(lim_mgmt_regn);
}
if (sme_req->registerFrame) {