Explorar o código

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 %!s(int64=7) %!d(string=hai) anos
pai
achega
7d78708d38
Modificáronse 1 ficheiros con 4 adicións e 0 borrados
  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;
 	}