Discussion:
[PATCH] ALSA: usb: caiaq: check for cdev->n_streams > 1
Daniel Mack
2014-10-07 12:25:13 UTC
Permalink
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 <***@zonque.org>
---
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
Takashi Iwai
2014-10-07 12:45:45 UTC
Permalink
At Tue, 7 Oct 2014 14:25:13 +0200,
Post by Daniel Mack
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().
Thanks, applied.


Takashi
Post by Daniel Mack
---
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
Loading...