Skip to content

Commit

Permalink
docs/sysfs: show() methods should use scnprintf().
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
bvanassche authored and gregkh committed Feb 3, 2011
1 parent 5480bcd commit d3f70be
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions Documentation/filesystems/sysfs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand All @@ -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,
Expand Down

0 comments on commit d3f70be

Please sign in to comment.