diff mbox

ALSA: usb: caiaq: check for cdev->n_streams > 1

Message ID 1412684713-6622-1-git-send-email-daniel@zonque.org (mailing list archive)
State Accepted
Commit 897c329bcb2206dd025cdb7ba84831a4f3c872d0
Headers show

Commit Message

Daniel Mack Oct. 7, 2014, 12:25 p.m. UTC
Coverity spotted a possible DIV0 condition when cdev->n_streams is 0.

Fix this by making sure the value is > 1 in snd_usb_caiaq_audio_init().

Signed-off-by: Daniel Mack <daniel@zonque.org>
---
 sound/usb/caiaq/audio.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Takashi Iwai Oct. 7, 2014, 12:45 p.m. UTC | #1
At Tue,  7 Oct 2014 14:25:13 +0200,
Daniel Mack wrote:
> 
> Coverity spotted a possible DIV0 condition when cdev->n_streams is 0.
> 
> Fix this by making sure the value is > 1 in snd_usb_caiaq_audio_init().
> 
> Signed-off-by: Daniel Mack <daniel@zonque.org>

Thanks, applied.


Takashi

> ---
>  sound/usb/caiaq/audio.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c
> index 7103b09..2728447 100644
> --- a/sound/usb/caiaq/audio.c
> +++ b/sound/usb/caiaq/audio.c
> @@ -816,6 +816,11 @@ int snd_usb_caiaq_audio_init(struct snd_usb_caiaqdev *cdev)
>  		return -EINVAL;
>  	}
>  
> +	if (cdev->n_streams < 2) {
> +		dev_err(dev, "bogus number of streams: %d\n", cdev->n_streams);
> +		return -EINVAL;
> +	}
> +
>  	ret = snd_pcm_new(cdev->chip.card, cdev->product_name, 0,
>  			cdev->n_audio_out, cdev->n_audio_in, &cdev->pcm);
>  
> -- 
> 2.1.0
>
diff mbox

Patch

diff --git a/sound/usb/caiaq/audio.c b/sound/usb/caiaq/audio.c
index 7103b09..2728447 100644
--- a/sound/usb/caiaq/audio.c
+++ b/sound/usb/caiaq/audio.c
@@ -816,6 +816,11 @@  int snd_usb_caiaq_audio_init(struct snd_usb_caiaqdev *cdev)
 		return -EINVAL;
 	}
 
+	if (cdev->n_streams < 2) {
+		dev_err(dev, "bogus number of streams: %d\n", cdev->n_streams);
+		return -EINVAL;
+	}
+
 	ret = snd_pcm_new(cdev->chip.card, cdev->product_name, 0,
 			cdev->n_audio_out, cdev->n_audio_in, &cdev->pcm);