usb: gadget: FunctionFS: Use kstrtoul()

kstrtoul() checks for overflow which simple_strtoul() does not pluss
it has “*end == 0” check in it as well.  As a side effect, a new
line character is now accepted, but this should not be an issue.

Signed-off-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Michal Nazarewicz 2013-01-09 10:17:47 +01:00 committed by Felipe Balbi
parent cd76213eb5
commit afd2e186bd

View file

@ -1103,8 +1103,8 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
return 0; return 0;
for (;;) { for (;;) {
char *end, *eq, *comma;
unsigned long value; unsigned long value;
char *eq, *comma;
/* Option limit */ /* Option limit */
comma = strchr(opts, ','); comma = strchr(opts, ',');
@ -1120,8 +1120,7 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
*eq = 0; *eq = 0;
/* Parse value */ /* Parse value */
value = simple_strtoul(eq + 1, &end, 0); if (kstrtoul(eq + 1, 0, &value)) {
if (unlikely(*end != ',' && *end != 0)) {
pr_err("%s: invalid value: %s\n", opts, eq + 1); pr_err("%s: invalid value: %s\n", opts, eq + 1);
return -EINVAL; return -EINVAL;
} }