Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 369b240d authored by Roel Kluin's avatar Roel Kluin Committed by Takashi Iwai
Browse files

[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: default avatarRoel Kluin <12o3l@tiscali.nl>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 7943a8ab
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -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);