mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-31 14:25:49 +00:00
cgroups: Make sure the cgroup formatted correctly
In case if something is broken in the kernel and we get a format corrupted -- simply exit out with error instead of strlen'ing nil string. Also while at it -- add a comment about format. Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org> Acked-by: Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
committed by
Pavel Emelyanov
parent
0f178a1f99
commit
cd704e80ee
12
proc_parse.c
12
proc_parse.c
@@ -1530,8 +1530,20 @@ int parse_task_cgroup(int pid, struct list_head *retl, unsigned int *n)
|
||||
if (!ncc)
|
||||
goto err;
|
||||
|
||||
/*
|
||||
* Typical output (':' is a separator here)
|
||||
*
|
||||
* 4:cpu,cpuacct:/
|
||||
* 3:cpuset:/
|
||||
* 2:name=systemd:/user.slice/user-1000.slice/session-1.scope
|
||||
*/
|
||||
name = strchr(buf, ':') + 1;
|
||||
path = strchr(name, ':');
|
||||
if (!name || !path) {
|
||||
pr_err("Failed parsing cgroup %s\n", buf);
|
||||
xfree(ncc);
|
||||
goto err;
|
||||
}
|
||||
e = strchr(name, '\n');
|
||||
*path++ = '\0';
|
||||
if (e)
|
||||
|
Reference in New Issue
Block a user