mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
cgroup2: io: handle 64-bit values correctly on 32-bit architectures
strconv.ParseUint(..., 0) is not really safe, because on 32-bit
architectures it will trigger runtime errors when trying to parse large
numbers (which in the case of the cgroupv2 io controller, is almost
certainly going to happen).
Fixes: 1932917b71 ("libcontainer: add initial support for cgroups v2")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
This commit is contained in:
@@ -101,11 +101,11 @@ func statIo(dirPath string, stats *cgroups.Stats) error {
|
|||||||
if len(d) != 2 {
|
if len(d) != 2 {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
major, err := strconv.ParseUint(d[0], 10, 0)
|
major, err := strconv.ParseUint(d[0], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
minor, err := strconv.ParseUint(d[1], 10, 0)
|
minor, err := strconv.ParseUint(d[1], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -142,7 +142,7 @@ func statIo(dirPath string, stats *cgroups.Stats) error {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
value, err := strconv.ParseUint(d[1], 10, 0)
|
value, err := strconv.ParseUint(d[1], 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user