Skip to content

Commit

Permalink
ALSA: Xonar, CS43xx: Don't overrun static array
Browse files Browse the repository at this point in the history
'cs4398_regs' in 'struct xonar_cs43xx' is an array of 'u8' with a size of
8. So, this code in sound/pci/oxygen/xonar_cs43xx.c::dump_d1_registers()

    		for (i = 2; i <= 8; ++i)
	  			snd_iprintf(buffer, " %02x", data->cs4398_regs[i]);

will overrun the array when 'i == 8'.

I guess that what's needed to fix it is the trivial patch below, but I
must admit that I have no idea about this code, so I may very well be
wrong. Additionally, I have no way to actually test this, so all I know is
that the below compiles. Someone who actually knows this code should take
a look before anything is comitted - consider the below (not much more
than) a bug report.

Signed-off-by: Jesper Juhl <jj@chaosbits.net>
Acked-by: Clemens Ladisch <clemens@ladisch.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Jesper Juhl authored and Takashi Iwai committed Jan 22, 2011
1 parent 842a209 commit 233d84c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sound/pci/oxygen/xonar_cs43xx.c
Original file line number Diff line number Diff line change
@@ -392,7 +392,7 @@ static void dump_d1_registers(struct oxygen *chip,
unsigned int i;

snd_iprintf(buffer, "\nCS4398: 7?");
for (i = 2; i <= 8; ++i)
for (i = 2; i < 8; ++i)
snd_iprintf(buffer, " %02x", data->cs4398_regs[i]);
snd_iprintf(buffer, "\n");
dump_cs4362a_registers(data, buffer);

0 comments on commit 233d84c

Please sign in to comment.