mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 13:55:32 +00:00
ASoC: Don't set invalid name string to snd_card->driver field
The snd_card->driver field contains a driver name string, and in
general it shouldn't contain space or special letters. The commit
2b39535b9e
changed the string copy from
card->name, but the long name string may contain such letters, thus
it may still lead to a segfault.
A temporary fix is not to copy the long name string but just keep it
empty as the earlier version did.
Reported-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
8d9afa08fe
commit
873bd4cb4f
1 changed files with 3 additions and 2 deletions
|
@ -1929,8 +1929,9 @@ static void snd_soc_instantiate_card(struct snd_soc_card *card)
|
|||
"%s", card->name);
|
||||
snprintf(card->snd_card->longname, sizeof(card->snd_card->longname),
|
||||
"%s", card->long_name ? card->long_name : card->name);
|
||||
snprintf(card->snd_card->driver, sizeof(card->snd_card->driver),
|
||||
"%s", card->driver_name ? card->driver_name : card->name);
|
||||
if (card->driver_name)
|
||||
strlcpy(card->snd_card->driver, card->driver_name,
|
||||
sizeof(card->snd_card->driver));
|
||||
|
||||
if (card->late_probe) {
|
||||
ret = card->late_probe(card);
|
||||
|
|
Loading…
Reference in a new issue