]> 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:42:11 +0000 (13:42 -0600)
committerTom Hromatka <tom.hromatka@oracle.com>
Wed, 13 Jul 2022 19:42:15 +0000 (13:42 -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>
src/api.c

index f243ed1f3381cd9d92b5d8f7f317ed07e74f142e..fa4a3eda09c80cb9b10e554c2bee9962935ab417 100644 (file)
--- a/src/api.c
+++ b/src/api.c
@@ -4208,6 +4208,11 @@ int cgroup_change_cgroup_flags(uid_t uid, gid_t gid, const char *procname, pid_t
 
                        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 */