On 19/01/2023 16:58, Dan Carpenter wrote: > The "id" comes from the user. Change the type to unsigned to prevent > an array underflow. > > Fixes: f4ea22f7aa75 ("ASoC: SOF: ipc4: Add support for mtrace log extraction") > Signed-off-by: Dan Carpenter <error27@xxxxxxxxx> Acked-by: Peter Ujfalusi <peter.ujfalusi@xxxxxxxxxxxxxxx> > --- > sound/soc/sof/ipc4-mtrace.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/sound/soc/sof/ipc4-mtrace.c b/sound/soc/sof/ipc4-mtrace.c > index 70dea8ae706e..0ec6ef681012 100644 > --- a/sound/soc/sof/ipc4-mtrace.c > +++ b/sound/soc/sof/ipc4-mtrace.c > @@ -344,9 +344,10 @@ static ssize_t sof_ipc4_priority_mask_dfs_write(struct file *file, > size_t count, loff_t *ppos) > { > struct sof_mtrace_priv *priv = file->private_data; > - int id, ret; > + unsigned int id; > char *buf; > u32 mask; > + int ret; > > /* > * To update Nth mask entry, write: > @@ -357,9 +358,9 @@ static ssize_t sof_ipc4_priority_mask_dfs_write(struct file *file, > if (IS_ERR(buf)) > return PTR_ERR(buf); > > - ret = sscanf(buf, "%d,0x%x", &id, &mask); > + ret = sscanf(buf, "%u,0x%x", &id, &mask); > if (ret != 2) { > - ret = sscanf(buf, "%d,%x", &id, &mask); > + ret = sscanf(buf, "%u,%x", &id, &mask); > if (ret != 2) { > ret = -EINVAL; > goto out; -- Péter