Просмотр исходного кода

qcacld-3.0: Free body if session is NULL in lim_process_switch_channel_rsp

In lim_process_switch_channel_rsp, if pe_find_session_by_session_id
returns NULL, memory of body pointer is not freed leading to memory
leak.

Free memory allocated for body pointer if session entry is NULL in
lim_process_switch_channel_rsp.

Change-Id: I939aceb3ed993fd1488b72db9df526c1724f0ac5
CRs-Fixed: 2236980
Vignesh Viswanathan 7 лет назад
Родитель
Сommit
03f5f0eb56
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c

+ 2 - 1
core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c

@@ -3140,7 +3140,7 @@ void lim_process_switch_channel_rsp(tpAniSirGlobal pMac, void *body)
 	psessionEntry = pe_find_session_by_session_id(pMac, peSessionId);
 	if (psessionEntry == NULL) {
 		pe_err("session does not exist for given sessionId");
-		return;
+		goto free;
 	}
 	psessionEntry->ch_switch_in_progress = false;
 	/* HAL fills in the tx power used for mgmt frames in this field. */
@@ -3207,6 +3207,7 @@ void lim_process_switch_channel_rsp(tpAniSirGlobal pMac, void *body)
 	default:
 		break;
 	}
+free:
 	qdf_mem_free(body);
 }