dsp: q6lsm: Check size of payload before access

check size of payload before access in q6lsm_mmapcallback.
The payload size can be either 4 or 8 bytes.
Code to verify the payload size is atleast 4 bytes is added.

Change-Id: I64b07f44b66fe6793bc80bc99a09fd0521342531
Signed-off-by: Shaik Jabida <quic_sjabida@quicinc.com>
This commit is contained in:
Shaik Jabida 2024-07-01 14:27:21 +05:30
commit 14c551f6ab

View file

@ -2129,8 +2129,18 @@ static int q6lsm_mmapcallback(struct apr_client_data *data, void *priv)
lsm_common.set_custom_topology = 1;
return 0;
}
/*
The payload_size can be either 4 or 8 bytes.
It has to be verified whether the payload_size is
atleast 4 bytes. If it is less, returns errorcode.
if (data->payload_size < (2 * sizeof(uint32_t))) {
The opcode for 4 bytes is 0x12A80
The opcode for 8 bytes is 0x110E8.
*/
if (data->payload_size < (2 * sizeof(uint16_t))) {
pr_err("%s: payload has invalid size[%d]\n", __func__,
data->payload_size);
return -EINVAL;