ALSA: Use scnprintf() instead of snprintf() for show

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>
This commit is contained in:
Jaejoong Kim 2018-02-27 11:15:59 +09:00 committed by Takashi Iwai
parent 248a380a3c
commit ef21e17501

View File

@ -670,7 +670,7 @@ card_id_show_attr(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct snd_card *card = container_of(dev, struct snd_card, card_dev); 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 static ssize_t
@ -710,7 +710,7 @@ card_number_show_attr(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
{ {
struct snd_card *card = container_of(dev, struct snd_card, card_dev); 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); static DEVICE_ATTR(number, S_IRUGO, card_number_show_attr, NULL);