ALSA: Limit the fallback card id string size
authorTakashi Iwai <tiwai@suse.de>
Tue, 29 Oct 2013 14:20:06 +0000 (15:20 +0100)
committerTakashi Iwai <tiwai@suse.de>
Tue, 29 Oct 2013 14:20:06 +0000 (15:20 +0100)
When no proper id string is given, the driver tries to fall back to
copy the proc_root name string via strcpy(), but this might overflow
the fixed string size.  Let's use strlcpy().

Spotted by coverity CID 139008.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/init.c

index 01a89383a0627bd8d78d5d9150d8e397fcd4f8ed..1351f22f651cdf420ee3bfd7b550c3760b3d9a23 100644 (file)
@@ -597,7 +597,7 @@ static void snd_card_set_id_no_lock(struct snd_card *card, const char *src,
        /* last resort... */
        snd_printk(KERN_ERR "unable to set card id (%s)\n", id);
        if (card->proc_root->name)
-               strcpy(card->id, card->proc_root->name);
+               strlcpy(card->id, card->proc_root->name, sizeof(card->id));
 }
 
 /**