chiark / gitweb /
shared/cgroup-show: fix leak of "pid"
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 2 Apr 2013 03:11:54 +0000 (23:11 -0400)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Tue, 2 Apr 2013 03:43:49 +0000 (23:43 -0400)
src/shared/cgroup-show.c

index 2f2669f..966af5e 100644 (file)
@@ -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;
 }