Isn't this bug filed against the wrong package? It is a patch against
apt-spy not apt-file.

regards
Kevin
  


Justin Pryzby writes:
 > Package: apt-file
 > Severity: wishlist
 > Tags: patch
 > 
 > Please include improved error checks in argument parsing code.  Patch
 > is attached which will error on arguments such as "-n 10FOOBAR".
 > 
 > Also fixed is a spelling error and a grammar error.
 > 
 > This patch would probably conflict with:
 > apt-spy.inline-initializations, but I've included the necessary
 > renaming of the variable BESTNUMBER here.
 > 
 > Justin
 > diff -ur apt-spy-3.1/main.c apt-spy-3.1.jp6/main.c
 > --- apt-spy-3.1/main.c       2005-07-08 20:48:09.000000000 -0400
 > +++ apt-spy-3.1.jp6/main.c   2005-07-09 14:28:52.000000000 -0400
 > @@ -71,6 +71,7 @@
 >      /* Parse options... */
 >      while((c = getopt(argc, argv, "a:c:d:e:f:i:m:o:p:s:t:u:w:n:vh")) != -1)
 >              switch(c) {
 > +            char *end;
 >              /* Area to benchmark */
 >              case 'a':
 >                      area = optarg;
 > @@ -85,7 +86,13 @@
 >                      break;
 >              /* Number of servers to benchmark */
 >              case 'e':
 > -                    test_number = atoi(optarg);
 > +                    test_number = strtol(optarg, &end, 10);
 > +                    if (!*optarg || end!=optarg+strlen(optarg)) {
 > +                            fprintf(stderr, "Error parsing number"
 > +                                            " of servers to be"
 > +                                            " benchmarked\n");
 > +                            exit(1);
 > +                    }
 >                      break;
 >              /* File, relative to Debian base, to grab from server. */
 >              case 'f':
 > @@ -111,9 +118,15 @@
 >              case 's':
 >                      country_list = optarg;
 >                      break;
 > -            /* Time to bencmark each server for. */
 > +            /* Time for which to benchmark each server. */
 >              case 't':
 > -                    timeout = atoi(optarg);
 > +                    timeout = strtol(optarg, &end, 10);
 > +                    if (!*optarg || end!=optarg+strlen(optarg)) {
 > +                            fprintf(stderr, "Error parsing server"
 > +                                            " benchmark time"
 > +                                            " interval\n");
 > +                            exit(1);
 > +                    }
 >                      break;
 >              /* The URL we should update ourselves from */                   
 >                 
 >              case 'u':
 > @@ -126,7 +139,13 @@
 >                      break;
 >              /* Number of servers to write in "top" server list */
 >              case 'n':
 > -                    BESTNUMBER = atoi(optarg);
 > +                    bestnumber = strtol(optarg, &end, 10);
 > +                    if (!*optarg || end!=optarg+strlen(optarg)) {
 > +                            fprintf(stderr, "Error parsing number"
 > +                                            " of best servers to"
 > +                                            " write\n");
 > +                            exit(1);
 > +                    }
 >                      break;
 >              case 'v':
 >                      version();


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to