[alsa-devel] [PATCH 2/2] ALSA: Compress - add codec parameter checks
Takashi Iwai
tiwai at suse.de
Mon Sep 17 09:59:27 CEST 2012
At Mon, 17 Sep 2012 11:51:26 +0530,
Vinod Koul wrote:
>
> Signed-off-by: Vinod Koul <vinod.koul at linux.intel.com>
Applied this one, too. Thanks.
Takashi
> ---
> include/sound/compress_params.h | 1 +
> sound/core/compress_offload.c | 10 ++++++++++
> 2 files changed, 11 insertions(+), 0 deletions(-)
>
> diff --git a/include/sound/compress_params.h b/include/sound/compress_params.h
> index da4a456..602dc6c 100644
> --- a/include/sound/compress_params.h
> +++ b/include/sound/compress_params.h
> @@ -72,6 +72,7 @@
> #define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
> #define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
> #define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
> +#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_G729
>
> /*
> * Profile and modes are listed with bit masks. This allows for a
> diff --git a/sound/core/compress_offload.c b/sound/core/compress_offload.c
> index bd7f28e..c40ae57 100644
> --- a/sound/core/compress_offload.c
> +++ b/sound/core/compress_offload.c
> @@ -432,6 +432,16 @@ static int snd_compress_check_input(struct snd_compr_params *params)
> params->buffer.fragments > SIZE_MAX / params->buffer.fragment_size)
> return -EINVAL;
>
> + /* now codec parameters */
> + if (params->codec.id == 0 || params->codec.id > SND_AUDIOCODEC_MAX)
> + return -EINVAL;
> +
> + if (params->codec.ch_in == 0 || params->codec.ch_out == 0)
> + return -EINVAL;
> +
> + if (!(params->codec.sample_rate & SNDRV_PCM_RATE_8000_192000))
> + return -EINVAL;
> +
> return 0;
> }
>
> --
> 1.7.0.4
>
More information about the Alsa-devel
mailing list