소스 검색

qcacld-3.0: Fix memory leaks while handling few error cases in PE

Memory leaks have been noted in protocol stack in few of the error
handling cases.

Fix following APIs through releasing the memory in error cases.
lim_process_mlm_auth_req()
lim_process_mlm_set_keys_req()

CRs-Fixed: 2139571
Change-Id: Ie28861dab49ab93d90fde5ebc5fd260d1c1c4eee
Krunal Soni 7 년 전
부모
커밋
7d78708d38
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      core/mac/src/pe/lim/lim_process_mlm_req_messages.c

+ 4 - 0
core/mac/src/pe/lim/lim_process_mlm_req_messages.c

@@ -1048,6 +1048,8 @@ static void lim_process_mlm_auth_req(tpAniSirGlobal mac_ctx, uint32_t *msg)
 	session = pe_find_session_by_session_id(mac_ctx, session_id);
 	if (NULL == session) {
 		pe_err("SessionId:%d does not exist", session_id);
+		qdf_mem_free(msg);
+		mac_ctx->lim.gpLimMlmAuthReq = NULL;
 		return;
 	}
 
@@ -1930,6 +1932,8 @@ lim_process_mlm_set_keys_req(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
 				mlm_set_keys_req->sessionId);
 	if (NULL == session) {
 		pe_err("session does not exist for given sessionId");
+		qdf_mem_free(mlm_set_keys_req);
+		mac_ctx->lim.gpLimMlmSetKeysReq = NULL;
 		return;
 	}