]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
libcgroup: Handle null cgroups in APIs
authorDhaval Giani <dhaval@linux.vnet.ibm.com>
Tue, 8 Jul 2008 17:11:53 +0000 (17:11 +0000)
committerDhaval Giani <dhaval@linux.vnet.ibm.com>
Tue, 8 Jul 2008 17:11:53 +0000 (17:11 +0000)
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>

[dhaval@linux.vnet.ibm.com]: correct error codes
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Acked-by: Balbir Singh <balbir@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@102 4f4bb910-9a46-0410-90c8-c897d4f1cd53

api.c

diff --git a/api.c b/api.c
index a8d5a572f06928e00c6bc32537e5f746158f72c6..45a8689af4ae0f7f6f7ce7b73276619dd60d23ee 100644 (file)
--- a/api.c
+++ b/api.c
@@ -410,6 +410,9 @@ int cgroup_modify_cgroup(struct cgroup *cgroup)
        if (!cgroup_initialized)
                return ECGROUPNOTINITIALIZED;
 
+       if (!cgroup)
+               return ECGROUPNOTALLOWED;
+
        for (i = 0; i < cgroup->index; i++) {
                if (!cgroup_test_subsys_mounted(cgroup->controller[i]->name))
                        return ECGROUPSUBSYSNOTMOUNTED;
@@ -450,6 +453,9 @@ int cgroup_create_cgroup(struct cgroup *cgroup, int ignore_ownership)
        if (!cgroup_initialized)
                return ECGROUPNOTINITIALIZED;
 
+       if (!cgroup)
+               return ECGROUPNOTALLOWED;
+
        for (i = 0; i < cgroup->index;  i++) {
                if (!cgroup_test_subsys_mounted(cgroup->controller[i]->name))
                        return ECGROUPSUBSYSNOTMOUNTED;
@@ -532,6 +538,9 @@ int cgroup_delete_cgroup(struct cgroup *cgroup, int ignore_migration)
        if (!cgroup_initialized)
                return ECGROUPNOTINITIALIZED;
 
+       if (!cgroup)
+               return ECGROUPNOTALLOWED;
+
        for (i = 0; i < cgroup->index; i++) {
                if (!cgroup_test_subsys_mounted(cgroup->controller[i]->name))
                        return ECGROUPSUBSYSNOTMOUNTED;