]> git.ipfire.org Git - pakfire.git/commitdiff
cgroups: Make killall function static and fix memory leak
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 12 Jan 2023 12:27:58 +0000 (12:27 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 12 Jan 2023 17:12:28 +0000 (17:12 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/cgroup.c
src/libpakfire/include/pakfire/cgroup.h

index 12ba51859d7095e0f409b2c1f71218ba1dd6e6b0..cc6cce94c3dd82cfbdf2e56cd904d586c3d34e7b 100644 (file)
@@ -580,7 +580,10 @@ static int pakfire_cgroup_procs_callback(struct pakfire_cgroup* cgroup,
        }
 
        // Cleanup
-       fclose(f);
+       if (line)
+               free(line);
+       if (f)
+               fclose(f);
 
        return r;
 }
@@ -600,7 +603,7 @@ static int send_sigkill(struct pakfire_cgroup* cgroup, const pid_t pid, void* da
 /*
        Immediately kills all processes in this cgroup
 */
-int pakfire_cgroup_killall(struct pakfire_cgroup* cgroup) {
+static int pakfire_cgroup_killall(struct pakfire_cgroup* cgroup) {
        DEBUG(cgroup->pakfire, "%s: Killing all processes\n", pakfire_cgroup_name(cgroup));
 
        // Do we have support for cgroup.kill?
index 716809f083484173fb1c98b2e1484cadad6da75d..37a4fdf673e85e3be689c5e385e1874d91dd7aa8 100644 (file)
@@ -193,7 +193,6 @@ struct pakfire_cgroup* pakfire_cgroup_unref(struct pakfire_cgroup* cgroup);
 int pakfire_cgroup_child(struct pakfire_cgroup** child,
        struct pakfire_cgroup* cgroup, const char* name, int flags);
 
-int pakfire_cgroup_killall(struct pakfire_cgroup* cgroup);
 int pakfire_cgroup_destroy(struct pakfire_cgroup* cgroup);
 
 int pakfire_cgroup_fd(struct pakfire_cgroup* cgroup);