mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-13 22:25:03 +00:00
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:
parent
cd76213eb5
commit
afd2e186bd
1 changed files with 2 additions and 3 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue