From ru@ucb.crimea.ua  Wed Dec  2 01:20:15 1998
Received: from relay.ucb.crimea.ua (relay.ucb.crimea.ua [194.93.177.113])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id BAA28046
          for <FreeBSD-gnats-submit@freebsd.org>; Wed, 2 Dec 1998 01:19:22 -0800 (PST)
          (envelope-from ru@ucb.crimea.ua)
Received: (from ru@localhost)
	by relay.ucb.crimea.ua (8.8.8/8.8.8) id LAA25042;
	Wed, 2 Dec 1998 11:16:06 +0200 (EET)
	(envelope-from ru)
Message-Id: <199812020916.LAA25042@relay.ucb.crimea.ua>
Date: Wed, 2 Dec 1998 11:16:06 +0200 (EET)
From: Ruslan Ermilov <ru@ucb.crimea.ua>
Reply-To: ru@ucb.crimea.ua
To: FreeBSD-gnats-submit@freebsd.org
Subject: IPFW coredump and dummynet
X-Send-Pr-Version: 3.2

>Number:         8937
>Category:       bin
>Synopsis:       IPFW coredump and dummynet
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Wed Dec  2 01:30:00 PST 1998
>Closed-Date:    Sun Dec 27 03:59:33 PST 1998
>Last-Modified:  Sun Dec 27 03:59:55 PST 1998
>Originator:     Ruslan Ermilov
>Release:        FreeBSD 2.2.8-STABLE i386
>Organization:
United Commercial Bank
>Environment:

Kernel build with dummynet support

>Description:

- ipfw(8) coredumps
- dummynet(4) commands should be documented in the ipfw(8) usage and manpage

>How-To-Repeat:

Run ``ipfw pipe'' to get a coredump.

>Fix:
	
The following patch will prevent coredumps:

Index: ipfw.c
===================================================================
RCS file: /usr/FreeBSD-CVS/src/sbin/ipfw/ipfw.c,v
retrieving revision 1.34.2.20
diff -u -r1.34.2.20 ipfw.c
--- ipfw.c	1998/10/12 17:29:15	1.34.2.20
+++ ipfw.c	1998/12/02 09:12:25
@@ -1330,6 +1330,9 @@
                 ac-- ;
                 av++ ;
         }
+	if (!ac) {
+		 show_usage("pipe requires arguments");
+	}
         /* allow argument swapping */
         if (ac > 1 && *av[0]>='0' && *av[0]<='9') {
                 char *p = av[0] ;

>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: luigi 
State-Changed-When: Sun Dec 27 03:59:33 PST 1998 
State-Changed-Why:  
fixed, thanks 
luigi 
>Unformatted:
