瀏覽代碼

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
Naveen Rawat 8 年之前
父節點
當前提交
1a3dac6d94
共有 1 個文件被更改,包括 4 次插入3 次删除
  1. 4 3
      core/mac/src/pe/lim/lim_process_sme_req_messages.c

+ 4 - 3
core/mac/src/pe/lim/lim_process_sme_req_messages.c

@@ -4633,11 +4633,12 @@ skip_match:
 	}
 	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) {