aboutsummaryrefslogtreecommitdiffstats
path: root/src/firemon/caps.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/firemon/caps.c')
-rw-r--r--src/firemon/caps.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/firemon/caps.c b/src/firemon/caps.c
index 5cd9b5d0d..81877ab87 100644
--- a/src/firemon/caps.c
+++ b/src/firemon/caps.c
@@ -48,17 +48,15 @@ static void print_caps(int pid) {
48 free(file); 48 free(file);
49} 49}
50 50
51void caps(pid_t pid) { 51void caps(pid_t pid, int print_procs) {
52 if (getuid() == 0)
53 firemon_drop_privs();
54
55 pid_read(pid); // include all processes 52 pid_read(pid); // include all processes
56 53
57 // print processes 54 // print processes
58 int i; 55 int i;
59 for (i = 0; i < max_pids; i++) { 56 for (i = 0; i < max_pids; i++) {
60 if (pids[i].level == 1) { 57 if (pids[i].level == 1) {
61 pid_print_list(i, 0); 58 if (print_procs || pid == 0)
59 pid_print_list(i, 0);
62 int child = find_child(i); 60 int child = find_child(i);
63 if (child != -1) 61 if (child != -1)
64 print_caps(child); 62 print_caps(child);