Kaynağa Gözat

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 yıl önce
ebeveyn
işleme
7d78708d38

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