mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 00:00:00 -04:00
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>
(cherry picked from commit 14c551f6ab)
This commit is contained in:
parent
6ed28b8678
commit
89c4562308
1 changed files with 11 additions and 1 deletions
12
dsp/q6lsm.c
12
dsp/q6lsm.c
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in a new issue