OSDN Git Service

ALSA: cs423x: fix format string overflow warning
authorArnd Bergmann <arnd@arndb.de>
Tue, 18 Jul 2017 11:48:05 +0000 (13:48 +0200)
committerTakashi Iwai <tiwai@suse.de>
Tue, 18 Jul 2017 15:51:55 +0000 (17:51 +0200)
commit6d8b04de87e1d736dad0ce7079e0ea112ab160c3
tree86154aaecf552c8888aea1f17d9c12c586a680ba
parent8a463639db5781ed52c972db013eba7d834f440d
ALSA: cs423x: fix format string overflow warning

The snd_pcm name may overflow the card->longname total size:

sound/isa/cs423x/cs4231.c: In function 'snd_cs4231_probe':
sound/isa/cs423x/cs4231.c:115:26: error: ' at 0x' directive writing 6 bytes into a region of size between 1 and 80 [-Werror=format-overflow=] 0x%lx, irq %d, dma %d",
  sprintf(card->longname, "%s at 0x%lx, irq %d, dma %d",
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This changes the driver to use snprintf() so we truncate the string
instead of overflowing into the next field if that happens.

I decided to split out the second format string for the extra
DMA channel to keep the code simpler.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/isa/cs423x/cs4231.c
sound/isa/cs423x/cs4236.c