[PATCH 1/2] usb: gadget: FunctionFS: Use kstrtoul()

From: Michal Nazarewicz
Date: Wed Jan 09 2013 - 04:17:43 EST


From: Michal Nazarewicz <mina86@xxxxxxxxxx>

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@xxxxxxxxxx>
---
Patch on top of v3.5 with Benoit Goby's âFix missing braces in
parse_optsâ patch
(<id:1357703829-26621-1-git-send-email-benoit@xxxxxxxxxxx>) applied.

drivers/usb/gadget/f_fs.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/gadget/f_fs.c b/drivers/usb/gadget/f_fs.c
index 8c2f251..38388d7 100644
--- a/drivers/usb/gadget/f_fs.c
+++ b/drivers/usb/gadget/f_fs.c
@@ -1103,8 +1103,8 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
return 0;

for (;;) {
- char *end, *eq, *comma;
unsigned long value;
+ char *eq, *comma;

/* Option limit */
comma = strchr(opts, ',');
@@ -1120,8 +1120,7 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts)
*eq = 0;

/* Parse value */
- value = simple_strtoul(eq + 1, &end, 0);
- if (unlikely(*end != ',' && *end != 0)) {
+ if (kstrtoul(eq + 1, 0, &value)) {
pr_err("%s: invalid value: %s\n", opts, eq + 1);
return -EINVAL;
}
--
1.7.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/