| From d6b340d7cb33c816ef4abe8143764ec5ab14a5cc Mon Sep 17 00:00:00 2001 |
| From: Takashi Iwai <tiwai@suse.de> |
| Date: Thu, 26 Jul 2018 14:58:03 +0200 |
| Subject: ALSA: trident: Suppress gcc string warning |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Takashi Iwai <tiwai@suse.de> |
| |
| commit d6b340d7cb33c816ef4abe8143764ec5ab14a5cc upstream. |
| |
| The meddlesome gcc warns about the possible shortname string in |
| trident driver code: |
| sound/pci/trident/trident.c: In function ‘snd_trident_probe’: |
| sound/pci/trident/trident.c:126:2: warning: ‘strcat’ accessing 17 or more bytes at offsets 36 and 20 may overlap 1 byte at offset 36 [-Wrestrict] |
| strcat(card->shortname, card->driver); |
| |
| It happens since gcc calculates the possible string size from |
| card->driver, but this can't be true since we did set the string just |
| before that, and they are much shorter. |
| |
| For shutting it up, use the exactly same string set to card->driver |
| for strcat() to card->shortname, too. |
| |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| sound/pci/trident/trident.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/sound/pci/trident/trident.c |
| +++ b/sound/pci/trident/trident.c |
| @@ -123,7 +123,7 @@ static int snd_trident_probe(struct pci_ |
| } else { |
| strcpy(card->shortname, "Trident "); |
| } |
| - strcat(card->shortname, card->driver); |
| + strcat(card->shortname, str); |
| sprintf(card->longname, "%s PCI Audio at 0x%lx, irq %d", |
| card->shortname, trident->port, trident->irq); |
| |