Commit e4de211c authored by Takashi Iwai's avatar Takashi Iwai

ALSA: atmel: Fix possible array overflow

The static checker found a possible array overflow in atmel/abdac.c:
  static checker warning: "sound/atmel/abdac.c:373 set_sample_rates()
        error: buffer overflow 'dac->rates' 6 <= 6"

This patch papers over the buggy point, by ensuring that dac->rates[]
update not overflowing the actual array size.
Reported-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 88d071fc
...@@ -357,7 +357,8 @@ static int set_sample_rates(struct atmel_abdac *dac) ...@@ -357,7 +357,8 @@ static int set_sample_rates(struct atmel_abdac *dac)
if (new_rate < 0) if (new_rate < 0)
break; break;
/* make sure we are below the ABDAC clock */ /* make sure we are below the ABDAC clock */
if (new_rate <= clk_get_rate(dac->pclk)) { if (index < MAX_NUM_RATES &&
new_rate <= clk_get_rate(dac->pclk)) {
dac->rates[index] = new_rate / 256; dac->rates[index] = new_rate / 256;
index++; index++;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment