chiark / gitweb /
Properly check for overflow in offsets
[elogind.git] / src / shared / cgroup-show.c
index 9ee532ca22271c3dee9f5d0385668975b7f9d4a5..83cc0731b852d2357b6215da6ad8252bf9a5db3a 100644 (file)
@@ -40,17 +40,6 @@ static int compare(const void *a, const void *b) {
         return 0;
 }
 
-static unsigned ilog10(unsigned long ul) {
-        int n = 0;
-
-        while (ul > 0) {
-                n++;
-                ul /= 10;
-        }
-
-        return n;
-}
-
 static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsigned n_columns, bool extra, bool more, bool kernel_threads, OutputFlags flags) {
         unsigned i, m, pid_width;
         pid_t biggest = 0;
@@ -71,7 +60,7 @@ static void show_pid_array(int pids[], unsigned n_pids, const char *prefix, unsi
                         pids[m++] = pids[i];
         }
         n_pids = m;
-        pid_width = ilog10(biggest);
+        pid_width = DECIMAL_STR_WIDTH(biggest);
 
         /* And sort */
         qsort(pids, n_pids, sizeof(pid_t), compare);
@@ -248,7 +237,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 _cleanup_free_ *copy = NULL;
+        _cleanup_free_ pid_t *copy = NULL;
         unsigned i, j;
         int r;
 
@@ -268,7 +257,7 @@ 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 _cleanup_free_ *k = NULL;
+                _cleanup_free_ char *k = NULL;
 
                 r = cg_pid_get_path(controller, pids[i], &k);
                 if (r < 0)