summaryrefslogtreecommitdiff
path: root/sound/oss/pas2_card.c
diff options
context:
space:
mode:
authorAsim Kadav <kadav@cs.wisc.edu>2013-01-03 21:47:26 +0400
committerTakashi Iwai <tiwai@suse.de>2013-01-04 13:38:27 +0400
commitdc30a436903ccf180b0313d3fc3f44278a1d44c8 (patch)
treeb262bd64e751b7d68a012cf0c9329845518327df /sound/oss/pas2_card.c
parentb7b435e81b7228af68b5d3bef277fce10100b369 (diff)
downloadlinux-dc30a436903ccf180b0313d3fc3f44278a1d44c8.tar.xz
sound: oss/pas2: Fix possible access out of array
Added a fix for hardware dependence bug where a sound card failure should not result in reading beyond array memory index. Signed-off-by: Asim Kadav <kadav@cs.wisc.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/oss/pas2_card.c')
-rw-r--r--sound/oss/pas2_card.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/oss/pas2_card.c b/sound/oss/pas2_card.c
index dabf8a871dcc..7004e24d209f 100644
--- a/sound/oss/pas2_card.c
+++ b/sound/oss/pas2_card.c
@@ -333,6 +333,11 @@ static void __init attach_pas_card(struct address_info *hw_config)
{
char temp[100];
+ if (pas_model < 0 ||
+ pas_model >= ARRAY_SIZE(pas_model_names)) {
+ printk(KERN_ERR "pas2 unrecognized model.\n");
+ return;
+ }
sprintf(temp,
"%s rev %d", pas_model_names[(int) pas_model],
pas_read(0x2789));