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 --- sound/core/init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/core/init.c b/sound/core/init.c index 168ae03..4a51a06 100644 --- a/sound/core/init.c +++ b/sound/core/init.c @@ -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);