From lha@mulet.e.kth.se  Wed Nov 18 01:30:23 1998
Received: from mulet.e.kth.se (mulet.e.kth.se [130.237.43.20])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA08029
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 18 Nov 1998 01:30:16 -0800 (PST)
          (envelope-from lha@mulet.e.kth.se)
Received: (from lha@localhost)
	by mulet.e.kth.se (8.9.1/8.9.1) id KAA01438;
	Wed, 18 Nov 1998 10:29:24 +0100 (CET)
	(envelope-from lha)
Message-Id: <199811180929.KAA01438@mulet.e.kth.se>
Date: Wed, 18 Nov 1998 10:29:24 +0100 (CET)
From: lha@stacken.kth.se
Reply-To: lha@stacken.kth.se
To: FreeBSD-gnats-submit@freebsd.org
Subject: atoi and modunload <Synopsis of the problem (one line)>
X-Send-Pr-Version: 3.2

>Number:         8739
>Category:       bin
>Synopsis:       atoi and modunload
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 18 01:40:00 PST 1998
>Closed-Date:    Sat Jul 24 04:34:06 PDT 1999
>Last-Modified:  Sun Jul 25 04:10:01 PDT 1999
>Originator:     Love
>Release:        FreeBSD 3.0-RELEASE i386
>Organization:
Stacken Computer Club 
>Environment:

        Whatever
	

>Description:

	atoi has no error checking
	

>How-To-Repeat:

	modunload -i foo
	

>Fix:
--- modunload.c.broken  Wed Nov 18 10:19:52 1998
+++ modunload.c Wed Nov 18 10:26:56 1998
@@ -71,12 +71,15 @@
        int c;
        int modnum = -1;
        char *modname = NULL;
+       char *endptr;
        struct lmc_unload ulbuf;
 
        while ((c = getopt(argc, argv, "i:n:")) != -1) {
                switch (c) {
                case 'i':
-                       modnum = atoi(optarg);
+                       modnum = strtol(optarg, &endptr, 0);
+                       if (*endptr != '\0')
+                               errx(1, "not a valid number");
                        break;  /* number */
                case 'n':
                        modname = optarg;
	

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: gnats-admin->freebsd-bugs 
Responsible-Changed-By: steve 
Responsible-Changed-When: Sat Nov 21 10:04:06 PST 1998 
Responsible-Changed-Why:  
Misfiled PR. 
State-Changed-From-To: open->closed 
State-Changed-By: n_hibma 
State-Changed-When: Sat Jul 24 04:34:06 PDT 1999 
State-Changed-Why:  
kldload (replacement of modunload) shows usage() when a number 
smaller then 1 or not a number is entered. 

From: Nick Hibma <nick.hibma@jrc.it>
To: freebsd-gnats-submit@freebsd.org, lha@stacken.kth.se
Cc:  
Subject: Re: bin/8739: atoi and modunload
Date: Sun, 25 Jul 1999 13:01:08 +0200

 Committed to kldunload. Thanks for the extra prod :-)
 
>Unformatted:
