diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 2ede0b1f9be0..c45d63025308 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19903,7 +19903,7 @@ QDF_STATUS csr_issue_stored_joinreq(tpAniSirGlobal mac_ctx, void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) { uint32_t len; - struct s_sir_set_hw_mode *cmd; + struct s_sir_set_hw_mode *cmd = NULL; QDF_STATUS status; struct scheduler_msg msg; struct sir_set_hw_mode_resp *param; @@ -19980,6 +19980,8 @@ void csr_process_set_hw_mode(tpAniSirGlobal mac, tSmeCmd *command) } return; fail: + if (cmd) + qdf_mem_free(cmd); param = qdf_mem_malloc(sizeof(*param)); if (!param) { sms_log(mac, LOGE,