提交 369b240d 编写于 作者: R Roel Kluin 提交者: Takashi Iwai

[ALSA] sound/drivers/dummy.c: fix negative snd_pcm_format_width() check

bps is unsigned, a negative snd_pcm_format_width() return value is not noticed
Signed-off-by: NRoel Kluin <12o3l@tiscali.nl>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 7943a8ab
......@@ -230,13 +230,14 @@ static int snd_card_dummy_pcm_prepare(struct snd_pcm_substream *substream)
{
struct snd_pcm_runtime *runtime = substream->runtime;
struct snd_dummy_pcm *dpcm = runtime->private_data;
unsigned int bps;
int bps;
bps = snd_pcm_format_width(runtime->format) * runtime->rate *
runtime->channels / 8;
bps = runtime->rate * runtime->channels;
bps *= snd_pcm_format_width(runtime->format);
bps /= 8;
if (bps <= 0)
return -EINVAL;
dpcm->pcm_bps = bps;
dpcm->pcm_hz = HZ;
dpcm->pcm_buffer_size = snd_pcm_lib_buffer_bytes(substream);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册