]> git.ipfire.org Git - thirdparty/libcgroup.git/commitdiff
api.c: add ret value fix in cgroup_change_cgroup_flags()
authorKamalesh Babulal <kamalesh.babulal@oracle.com>
Wed, 13 Jul 2022 19:43:23 +0000 (13:43 -0600)
committerTom Hromatka <tom.hromatka@oracle.com>
Wed, 13 Jul 2022 19:43:26 +0000 (13:43 -0600)
Fix the unused ret value warning, reported by Coverity:

CID 258304 (#1 of 1): Unused value (UNUSED_VALUE)returned_value:
Assigning value from cgroup_create_template_group(newdest, tmp, flags)
to ret here, but that stored value is overwritten before it can be used.

It turns out that cgroup_change_cgroup_flags(), calls the function
cgroup_create_template_group() to a cgroup based on a template, which
may fail and we don't check the return value for the error.  This fix
adds the check and bails out on error.

Signed-off-by: Kamalesh Babulal <kamalesh.babulal@oracle.com>
Signed-off-by: Tom Hromatka <tom.hromatka@oracle.com>
(cherry picked from commit c46591c5cf0d85b551668d98b33c86a68853b3d1)

src/api.c

index fd14372a7481f5635769d73d5d7c69ddeed0a0e1..1c080b2b42fcaeebb1f3857e02079d35d27a995f 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -4125,6 +4125,11 @@ int cgroup_change_cgroup_flags(uid_t uid, gid_t gid,
 
                        cgroup_dbg("control group %s is template\n", newdest);
                        ret = cgroup_create_template_group(newdest, tmp, flags);
+                       if (ret) {
+                               cgroup_warn("failed to create cgroup based on template %s\n",
+                                           newdest);
+                               goto finished;
+                       }
                }
 
                /* Apply the rule */