]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
Invalid reallocation of config_table in config_insert_cgroup()
authorPeter Schiffer <pschiffe@redhat.com>
Mon, 14 Oct 2013 04:48:06 +0000 (06:48 +0200)
committerPeter Schiffer <pschiffe@redhat.com>
Mon, 14 Oct 2013 04:48:06 +0000 (06:48 +0200)
There's invalid reallocation of config_table variable in config_insert_cgroup() function.

Signed-off-by: Peter Schiffer <pschiffe@redhat.com>
Acked-by: Ivana Hutarova Varekova <varekova@redhat.com>
src/config.c

index cdbd5085e5cd5604f788a08457ba6b6447fa072d..ac844a7ae30c3c860457eae098bf298eec4e70cd 100644 (file)
@@ -130,7 +130,7 @@ int config_insert_cgroup(char *cg_name, int flag)
                break;
        default:
                return 0;
-               }
+       }
 
        if (*table_index >= *max - 1) {
                struct cgroup *newblk;
@@ -151,7 +151,17 @@ int config_insert_cgroup(char *cg_name, int flag)
                memset(newblk + oldlen, 0, (*max - oldlen) *
                        sizeof(struct cgroup));
                init_cgroup_table(newblk + oldlen, *max - oldlen);
-               config_cgroup_table = newblk;
+               config_table = newblk;
+               switch (flag) {
+               case CGROUP:
+                       config_cgroup_table = config_table;
+                       break;
+               case TEMPLATE:
+                       config_template_table = config_table;
+                       break;
+               default:
+                       return 0;
+               }
                cgroup_dbg("maximum %d\n", *max);
                cgroup_dbg("reallocated config_table to %p\n",
                        config_table);