Commit 3eac8778 authored by Al Viro's avatar Al Viro

autofs4: use memchr() in invalid_string()

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 66672fef
...@@ -54,11 +54,10 @@ static int check_name(const char *name) ...@@ -54,11 +54,10 @@ static int check_name(const char *name)
* Check a string doesn't overrun the chunk of * Check a string doesn't overrun the chunk of
* memory we copied from user land. * memory we copied from user land.
*/ */
static int invalid_str(char *str, void *end) static int invalid_str(char *str, size_t size)
{ {
while ((void *) str <= end) if (memchr(str, 0, size))
if (!*str++) return 0;
return 0;
return -EINVAL; return -EINVAL;
} }
...@@ -138,8 +137,7 @@ static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param) ...@@ -138,8 +137,7 @@ static int validate_dev_ioctl(int cmd, struct autofs_dev_ioctl *param)
} }
if (param->size > sizeof(*param)) { if (param->size > sizeof(*param)) {
err = invalid_str(param->path, err = invalid_str(param->path, param->size - sizeof(*param));
(void *) ((size_t) param + param->size));
if (err) { if (err) {
AUTOFS_WARN( AUTOFS_WARN(
"path string terminator missing for cmd(0x%08x)", "path string terminator missing for cmd(0x%08x)",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment