Merge "ASoC: dsp: q6core: Avoid use after free"

This commit is contained in:
qctecmdr 2023-08-01 05:50:22 -07:00 • committed by Gerrit - the friendly Code Review server
commit 5423d9ef23

View file

@ -475,6 +475,8 @@ static int32_t aprv2_core_fn_q(struct apr_client_data *data, void *priv)
case AVCS_CMD_RSP_LOAD_MODULES:
pr_debug("%s: Received AVCS_CMD_RSP_LOAD_MODULES\n",
__func__);
if (!rsp_payload)
return -EINVAL;
if (data->payload_size != ((sizeof(struct avcs_load_unload_modules_sec_payload)
* rsp_payload->num_modules) + sizeof(uint32_t))) {
pr_err("%s: payload size greater than expected size %d\n",
@ -1099,6 +1101,7 @@ int32_t q6core_avcs_load_unload_modules(struct avcs_load_unload_modules_payload
done:
kfree(mod);
kfree(rsp_payload);
rsp_payload = NULL;
mutex_unlock(&(q6core_lcl.cmd_lock));
return ret;
}