diff options
author | Asim Kadav <kadav@cs.wisc.edu> | 2013-01-03 11:47:26 -0600 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-01-04 10:38:27 +0100 |
commit | dc30a436903ccf180b0313d3fc3f44278a1d44c8 (patch) | |
tree | b262bd64e751b7d68a012cf0c9329845518327df /sound/oss | |
parent | b7b435e81b7228af68b5d3bef277fce10100b369 (diff) | |
download | linux-dc30a436903ccf180b0313d3fc3f44278a1d44c8.tar.gz linux-dc30a436903ccf180b0313d3fc3f44278a1d44c8.tar.bz2 linux-dc30a436903ccf180b0313d3fc3f44278a1d44c8.zip |
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')
-rw-r--r-- | sound/oss/pas2_card.c | 5 |
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)); |