[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