From 16d1e3c26fc2908d430aa94cc76227028b0fffc7 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 14 Aug 2009 22:33:10 +0200 Subject: [PATCH] pgrep: match argv[0] too, not only comm; fix a bug in argv sanitization Signed-off-by: Denys Vlasenko --- procps/pgrep.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/procps/pgrep.c b/procps/pgrep.c index aef4f229a..3a717ecff 100644 --- a/procps/pgrep.c +++ b/procps/pgrep.c @@ -92,7 +92,7 @@ int pgrep_main(int argc UNUSED_PARAM, char **argv) if (sid2match == 0) sid2match = getsid(pid); - scan_mask = PSSCAN_COMM; + scan_mask = PSSCAN_COMM | PSSCAN_ARGV0; if (OPT_FULL) scan_mask |= PSSCAN_ARGVN; @@ -117,9 +117,9 @@ int pgrep_main(int argc UNUSED_PARAM, char **argv) cmd = proc->comm; } else { int i = proc->argv_len; - while (i) { - if (!cmd[i]) cmd[i] = ' '; - i--; + while (--i >= 0) { + if ((unsigned char)cmd[i] < ' ') + cmd[i] = ' '; } }