[alsa-devel] [PATCH] ALSA: dice: fix a bounds check in snd_dice_detect_tcelectronic_formats()
Takashi Sakamoto
o-takashi at sakamocchi.jp
Fri May 18 13:36:23 CEST 2018
Hi,
On May 18 2018 18:16, Dan Carpenter wrote:
> The "entry" pointer is always non-NULL so this test for out of bounds
> won't work.
>
> Fixes: f1f0f330b1d0 ("ALSA: dice: add parameters of stream formats for models produced by TC Electronic")
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
>
> diff --git a/sound/firewire/dice/dice-tcelectronic.c b/sound/firewire/dice/dice-tcelectronic.c
> index af8203b9d1a6..e134a5110c6c 100644
> --- a/sound/firewire/dice/dice-tcelectronic.c
> +++ b/sound/firewire/dice/dice-tcelectronic.c
> @@ -75,13 +75,12 @@ int snd_dice_detect_tcelectronic_formats(struct snd_dice *dice)
> }
> }
>
> - entry = NULL;
> for (i = 0; i < ARRAY_SIZE(entries); ++i) {
> entry = entries + i;
> if (entry->model_id == model_id)
> break;
> }
> - if (!entry)
> + if (i == ARRAY_SIZE(entries))
> return -ENODEV;
>
> memcpy(dice->tx_pcm_chs, entry->spec->tx_pcm_chs,
Oops, indeed.
Reviewed-by: Takashi Sakamoto <o-takashi at sakamocchi.jp>
Thanks
Takashi Sakamoto
More information about the Alsa-devel
mailing list