[git commit] pgrep: match argv[0] too, not only comm; fix a bug in argv sanitization

Denys Vlasenko vda.linux at googlemail.com
Fri Aug 14 20:33:10 UTC 2009


commit: http://git.busybox.net/busybox/commit/?id=16d1e3c26fc2908d430aa94cc76227028b0fffc7
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
 procps/pgrep.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/procps/pgrep.c b/procps/pgrep.c
index aef4f22..3a717ec 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] = ' ';
 			}
 		}
 
-- 
1.6.3.3



More information about the busybox-cvs mailing list