docs/sysfs: show() methods should use scnprintf().
authorBart Van Assche <bvanassche@acm.org>
Tue, 21 Dec 2010 12:09:47 +0000 (13:09 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 3 Feb 2011 23:10:18 +0000 (15:10 -0800)
Since snprintf() may return a value that exceeds its second argument,
show() methods should use scnprintf() instead of snprintf(). This patch
updates the example in the sysfs documentation accordingly.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Cc: Tejun Heo <tj@kernel.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Documentation/filesystems/sysfs.txt

index 2ed95f9..f806e50 100644 (file)
@@ -210,9 +210,9 @@ Other notes:
   is 4096. 
 
 - show() methods should return the number of bytes printed into the
-  buffer. This is the return value of snprintf().
+  buffer. This is the return value of scnprintf().
 
-- show() should always use snprintf(). 
+- show() should always use scnprintf().
 
 - store() should return the number of bytes used from the buffer. If the
   entire buffer has been used, just return the count argument.
@@ -231,7 +231,7 @@ A very simple (and naive) implementation of a device attribute is:
 static ssize_t show_name(struct device *dev, struct device_attribute *attr,
                          char *buf)
 {
-       return snprintf(buf, PAGE_SIZE, "%s\n", dev->name);
+       return scnprintf(buf, PAGE_SIZE, "%s\n", dev->name);
 }
 
 static ssize_t store_name(struct device *dev, struct device_attribute *attr,