bin/40282: [patch] kill(1) has bad error checking for command line parameters

Oleg V. Nauman oleg at reis.zp.ua
Tue Dec 1 16:50:03 UTC 2009


The following reply was made to PR bin/40282; it has been noted by GNATS.

From: "Oleg V. Nauman" <oleg at reis.zp.ua>
To: Jilles Tjoelker <jilles at stack.nl>
Cc: bug-followup at freebsd.org, oleg at reis.zp.ua
Subject: Re: bin/40282: [patch] kill(1) has bad error checking for command line parameters
Date: Tue, 1 Dec 2009 18:14:29 +0200

  Hello Jilles,
 
 Thank you for looking into this.
 
 Your patch is fine, but it raises the next questions: do we really want to 
 keep historical kill(1) behavior regarding processing on the rest of list of 
 PIDs when an error occurs? Both of proposed patches ( mine and you ) just 
 break this historical behavior. Well I think that breaking the ( bad ) things 
 is the fine thing. Please commit your patch. 
 
  Thank you.
 
 On Sunday 08 November 2009 19:10:31 you wrote:
 > So I suggest this patch (EX_USAGE vs 1 can be changed separately).
 > 
 > -- 
 > Jilles Tjoelker
 > 
 > Index: bin/kill/kill.c
 > ===================================================================
 > --- bin/kill/kill.c     (revision 198703)
 > +++ bin/kill/kill.c     (working copy)
 > @@ -123,10 +123,9 @@
 > 
 >         for (errors = 0; argc; argc--, argv++) {
 >                 pid = strtol(*argv, &ep, 10);
 > -               if (!**argv || *ep) {
 > -                       warnx("illegal process id: %s", *argv);
 > -                       errors = 1;
 > -               } else if (kill(pid, numsig) == -1) {
 > +               if (!**argv || *ep)
 > +                       errx(1, "illegal process id: %s", *argv);
 > +               else if (kill(pid, numsig) == -1) {
 >                         warn("%s", *argv);
 >                         errors = 1;
 >                 }
 > 


More information about the freebsd-bugs mailing list