]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
cgroup: fix impossible overrun in virCgroupAddTaskController
authorJán Tomko <jtomko@redhat.com>
Wed, 28 Nov 2012 13:34:47 +0000 (14:34 +0100)
committerOsier Yang <jyang@redhat.com>
Wed, 28 Nov 2012 16:00:39 +0000 (00:00 +0800)
The size of the controllers array is VIR_CGROUP_CONTROLLER_LAST, however
we only call it with values less than VIR_CGROUP_CONTROLLER_LAST.

src/util/cgroup.c

index 9e78314331b535ac324a7dddcea333bd5ec724f9..490f1de43f37f8b7892b1148146b788b6fb55e6a 100644 (file)
@@ -814,7 +814,7 @@ int virCgroupAddTask(virCgroupPtr group, pid_t pid)
  */
 int virCgroupAddTaskController(virCgroupPtr group, pid_t pid, int controller)
 {
-    if (controller < 0 || controller > VIR_CGROUP_CONTROLLER_LAST)
+    if (controller < 0 || controller >= VIR_CGROUP_CONTROLLER_LAST)
         return -EINVAL;
 
     if (!group->controllers[controller].mountPoint)