From 050fbdb8787fb9e3f4491189cbb0fd1d130fe234 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 1 Apr 2013 23:11:54 -0400 Subject: [PATCH] shared/cgroup-show: fix leak of "pid" --- src/shared/cgroup-show.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/shared/cgroup-show.c b/src/shared/cgroup-show.c index 2f2669f82..966af5e24 100644 --- a/src/shared/cgroup-show.c +++ b/src/shared/cgroup-show.c @@ -282,7 +282,7 @@ int show_cgroup(const char *controller, const char *path, const char *prefix, un } static int show_extra_pids(const char *controller, const char *path, const char *prefix, unsigned n_columns, const pid_t pids[], unsigned n_pids, OutputFlags flags) { - pid_t *copy; + pid_t _cleanup_free_ *copy = NULL; unsigned i, j; int r; @@ -303,13 +303,11 @@ static int show_extra_pids(const char *controller, const char *path, const char return -ENOMEM; for (i = 0, j = 0; i < n_pids; i++) { - char *k; + char _cleanup_free_ *k = NULL; r = cg_get_by_pid(controller, pids[i], &k); - if (r < 0) { - free(copy); + if (r < 0) return r; - } if (path_startswith(k, path)) continue; @@ -319,7 +317,6 @@ static int show_extra_pids(const char *controller, const char *path, const char show_pid_array(copy, j, prefix, n_columns, true, false, false, flags); - free(copy); return 0; } -- 2.30.2