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
This commit is contained in:
Vignesh Viswanathan 2018-05-11 17:44:28 +05:30 • committed by nshrivas
commit 03f5f0eb56

View file

@ -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);
}