ALSA: Use scnprintf() instead of snprintf() for show
authorJaejoong Kim <climbbb.kim@gmail.com>
Tue, 27 Feb 2018 02:15:59 +0000 (11:15 +0900)
committerTakashi Iwai <tiwai@suse.de>
Tue, 27 Feb 2018 08:16:52 +0000 (09:16 +0100)
The show() method should use scnprintf() not snprintf() because snprintf()
may returns a value that exceeds its second argument.

Signed-off-by: Jaejoong Kim <climbbb.kim@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/core/init.c

index 4fa5dd9..79b4df1 100644 (file)
@@ -670,7 +670,7 @@ card_id_show_attr(struct device *dev,
                  struct device_attribute *attr, char *buf)
 {
        struct snd_card *card = container_of(dev, struct snd_card, card_dev);
-       return snprintf(buf, PAGE_SIZE, "%s\n", card->id);
+       return scnprintf(buf, PAGE_SIZE, "%s\n", card->id);
 }
 
 static ssize_t
@@ -710,7 +710,7 @@ card_number_show_attr(struct device *dev,
                     struct device_attribute *attr, char *buf)
 {
        struct snd_card *card = container_of(dev, struct snd_card, card_dev);
-       return snprintf(buf, PAGE_SIZE, "%i\n", card->number);
+       return scnprintf(buf, PAGE_SIZE, "%i\n", card->number);
 }
 
 static DEVICE_ATTR(number, S_IRUGO, card_number_show_attr, NULL);