From assar@sics.se  Fri Jan  8 09:19:52 1999
Received: from assaris.sics.se (assaris.sics.se [193.10.66.108])
          by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA22269
          for <FreeBSD-gnats-submit@freebsd.org>; Fri, 8 Jan 1999 09:19:51 -0800 (PST)
          (envelope-from assar@sics.se)
Received: (from assar@localhost) by assaris.sics.se (8.9.1/8.7.3) id SAA04655; Fri, 8 Jan 1999 18:20:53 +0100 (CET)
Message-Id: <199901081720.SAA04655@assaris.sics.se>
Date: Fri, 8 Jan 1999 18:20:53 +0100 (CET)
From: assar@sics.se
To: FreeBSD-gnats-submit@freebsd.org
Subject: if_addmulti doesn't check for retifma == NULL
X-Send-Pr-Version: 3.2

>Number:         9391
>Category:       kern
>Synopsis:       if_addmulti doesn't check for retifma == NULL
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan  8 09:20:00 PST 1999
>Closed-Date:    Tue Jul 02 01:24:27 PDT 2002
>Last-Modified:  Tue Jul 02 01:24:27 PDT 2002
>Originator:     Assar Westerlund
>Release:        FreeBSD 3.0-CURRENT i386
>Organization:
none
>Environment:

>Description:

int
if_addmulti(ifp, sa, retifma)
	struct ifnet *ifp;	/* interface to manipulate */
	struct sockaddr *sa;	/* address to add */
	struct ifmultiaddr **retifma;

and it only checks for retifma being NULL in one path of the code and
not in the other.

>How-To-Repeat:

if_addmulti(ifp, sa, NULL);

>Fix:

Index: if.c
===================================================================
RCS file: /src/fbsd-repository/src/sys/net/if.c,v
retrieving revision 1.64
diff -u -w -u -w -r1.64 if.c
--- if.c	1998/12/16 18:30:42	1.64
+++ if.c	1999/01/08 17:18:14
@@ -967,6 +967,7 @@
 	s = splimp();
 	LIST_INSERT_HEAD(&ifp->if_multiaddrs, ifma, ifma_link);
 	splx(s);
+	if(retifma)
 	*retifma = ifma;
 
 	if (llsa != 0) {
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: mike 
State-Changed-When: Thu Jul 19 14:33:52 PDT 2001 
State-Changed-Why:  

Awaiting committer. 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=9391 
State-Changed-From-To: suspended->closed 
State-Changed-By: mini 
State-Changed-When: Tue Jul 2 01:24:12 PDT 2002 
State-Changed-Why:  
Committed, thanks. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=9391 
>Unformatted:
