cgroups: save space for the terminator
The original code didn't leave enough space for a NULL terminator. These strings are copied with strcpy() into fixed length buffers in cgroup_root_from_opts(). Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Serge E. Hallyn <serge@hallyn.com> Reviewd-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Paul Menage <menage@google.com> Cc: Li Zefan <lizf@cn.fujitsu.com> Cc: Ben Blum <bblum@andrew.cmu.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
2b24706a79
commit
e400c28524
|
@ -1102,7 +1102,7 @@ static int parse_cgroupfs_options(char *data, struct cgroup_sb_opts *opts)
|
|||
if (opts->release_agent)
|
||||
return -EINVAL;
|
||||
opts->release_agent =
|
||||
kstrndup(token + 14, PATH_MAX, GFP_KERNEL);
|
||||
kstrndup(token + 14, PATH_MAX - 1, GFP_KERNEL);
|
||||
if (!opts->release_agent)
|
||||
return -ENOMEM;
|
||||
} else if (!strncmp(token, "name=", 5)) {
|
||||
|
@ -1123,7 +1123,7 @@ static int parse_cgroupfs_options(char *data, struct cgroup_sb_opts *opts)
|
|||
if (opts->name)
|
||||
return -EINVAL;
|
||||
opts->name = kstrndup(name,
|
||||
MAX_CGROUP_ROOT_NAMELEN,
|
||||
MAX_CGROUP_ROOT_NAMELEN - 1,
|
||||
GFP_KERNEL);
|
||||
if (!opts->name)
|
||||
return -ENOMEM;
|
||||
|
|
Loading…
Reference in New Issue